"A lot of people are buying the Pi to run XBMC. Since it can support 1080p flawlessly and the Via APC cannot, well... for many people the choice is obvious."
That's true and for that specific use, it may be fine. But from the reviews I have seen so far, just about any video processing other than playback is out of the question.
For $14 more than the Pi, you get twice as much RAM, a better operating system (a flavor of Android 2.3), a better CPU, 2GB of on board flash for your OS (and of course it has the obligatory MicroSD slot as well), plus standard VGA and HDMI out, 4 USB ports, 10/100 Ethernet, and standard audio in/out jacks.
The video probably isn't quite as good as the Pi (it maxes at 720p), but who is going to be doing sophisticated video with these devices anyway, at this stage? It's a hobbyist board.
And I almost forgot to mention: I got a call last year from someone wanting me to save their Rails site because they had gotten an email from Amazon saying that the server it was on was suffering from a hardware failure, and they would be taking it down in 3 days so they should grab everything off of it while they can.
Unfortunately, they received the email a day after those 3 days had already expired. Other than an old backup, their site was a total loss, and the database (also hosted by Amazon) was gone. So all their data from the time of the backup (which had been too long, admittedly) was lost.
And without a service contract, Amazon was exactly zero help. Yes, it was their server, and yes, the hardware problem was their responsibility, but no, they would not lift a single finger to assist without a service contract.
Also, if you recall, just about all of AWS went down for a period last year. As did Microsoft's cloud service, and Yahoo, and in fact just about all the "big solutions" that I can recall. Every single one of them had far more downtime last year than any of my sites.
Maybe it's just my personal opinion, but I can't stand using AWS. Relatively speaking, it's a pain in the ass (and slow) to maintain compared to updating my Rails sites using Git. And if you want it to be efficient for an international site, you pretty much have to use S3 for your static content and then CloudFront, which costs extra and adds another level of Pain In The Ass.
"... if it takes you a very long time, it sounds like you're doing something dreadfully wrong."
The CMS in question was an old one that was not being maintained anymore, which was why they wanted to migrate to a newer one. I don't even remember the name anymore of the CMS they used. It isn't popular today.
Regardless, unlike with most other CMS systems today, there were no available tools for migrating from that CMS to anything else. I would have had to figure out the internal code and data organization of the CMS from scratch completely on my own and write my own code, also from scratch. Which, yes, would have taken quite a bit of time.
Had it been a more modern CMS like Wordpress or even Radiant, it would probably have been a breeze. But it wasn't.
"Let's face it: someone needs to find a way to let people code in straight C on shared webhosts in a safe way."
I would never do that myself, or subject other people to it, either.
Regardless, the fact is that Rails is an "opinionated" framework. They do not deny it at all. And also admittedly, there is a learning curve to using it comfortably. But one of the benefits of that hand-holding is "convention over configuration", which is an awesome idea that has since been borrowed by other frameworks: by default, you already know where everything you need is, and where new things should go. The result is an application that any other decent Rails user can sit down in front of and figure out in a short time.
Contrast that to PHP, where every application is structured according to the programmer's whim, and sometimes trying to figure out somebody else's idea of "organization" can be a long-term brain twister.
But having said that: you don't have to do everything their way. Once you know the framework, you can bypass as much of the "hand-holding" as you want, and do things your own way.
It's a good, flexible framework that uses a good language. Not perfect, but good. I would not even attempt to use PHP to do many of the things I do almost every day in Rails. The very thought is a nightmare. Yes, PHP is capable of doing those things. At great cost in time and sanity.
"It's that everything is different for no apparent reason and there's little organization to the whole thing."
This is exactly the reason I call PHP "a collection of utility functions" rather than a language. Very often -- routinely, even -- there will be two functions that do very similar things but that take different parameters or takes the parameters in a different order, or both, and return results differently.
And don't even get me started on PHP's "object oriented" parts.
This may all be the result of how PHP evolved over time, but the results are as you say: an incoherent jumble of "stuff".
Please pardon the multiple posts. New information has kept coming to light.
Phonegap is not a true cross-platform development system at all. It essentially builds web apps with JavaScript that run locally, with some added support for accessing native device functions from the javascript.
That is not the same thing at all. Rhodes builds native apps (iOS, Android) for the target devices, not web apps.
While the installation instructions for RhoStudio do specify Ruby 1.9.3, that is of course no guarantee that Rhodes supports all features of Ruby 1.9.3. Apparently (according to forum posts from last year) there were some problems with changing character encoding, which might be an issue if your app requires support for internationalization.
I admit that it took a while to get my head wrapped around what that "magic" was doing behind the scenes, which is really necessary if you are serious about developing with it.
But I have, and now, given the graphics, I can get a basic site up and running very quickly, the majority of the time being spent on the layouts: HTML and CSS.
I have only one objection to Python, but it is a serious objection: most of the sites for which I develop have been on hosted servers. And most of those support Rails these days, but relatively few actively support Python and its frameworks.
"You'll learn almost nothing from putting up a WordPress site, except how frustrating it is to try to pick a set of plugins that mostly get you what you want done without making a mess of the site."
Agree. See my own comment just above, to pretty much the same effect. If those sites had been on Rails or some other sane platform, I could (or could have, in the one case) maintain them far, far easier and with fewer headaches.
CMS is fine for a small, static site or blog. But for anything more sophisticated, they are terrible to maintain.
One big company recently asked me to estimate what it would cost to move their cite from one CMS system to a different, more modern one. But the site is relatively old, with literally thousands of pages. And because there is no automated tool to migrate from that particular CMS system to another one, it would have to be done manually and it would take a very long time. I told them so. I never heard from them again, which is fine with me.
Another site I work on is in 5 different languages. But because the CMS they use doesn't support a language plugin (as does, say, Ruby on Rails), each language is effectively a DIFFERENT site, and has to be maintained as such.
I simply don't recommend that my customers use a CMS at all anymore, unless as I say they are just doing a blog or a small, simple, static site. My experience with CMS has been overwhelmingly negative. They may be relatively easy to set up, but in the long run they are far more trouble than they are worth.
"They can't even be bothered to tell you to enable javascript, which is really just pathetic."
This is a pet peeve of mine. Even the Twitter site does this wrong. If your javascript is turned off, it redirects you to a completely different page, with no history, so you can't just turn javascript on and hit the back button. No, you have to turn javascrpt on, then find the original link you clicked on, and click it again to get to the Twitter page you were trying to visit.
Hint, Twitter: That's a really, really bad user experience.
"... it has a quick learning curve and really does provides ample flexibility and power."
Not even close. Due to the gross inconsistencies that plague PHP throughout, its learning curve is terrible. Yes, you can get a "Hello World" app running quickly. But you can get a Rails "Hello World" application up and running just as quickly, with even less knowledge of the language.
And due to those same inconsistencies, learning PHP entails much more memorizing of a boatload of functions than other languages do, each of them with a bizarre list of parameters that are all different and even in different orders. Python and Ruby, on the other hand, are far more consistent in the way they operate and how methods are built.
If I wanted something that was easy to learn, PHP is just about the last choice I would make.
"Once you start integrating with devices and complex webservices then Rails is not as good a fit as something like Java."
Not so. In regard to devices, Rhodes is a cross-platform app development environment entirely built around Ruby and Rails. In fact, as far as I know, it is the only cross-platform mobile development system that has gained any popularity.
And as for web services, I have no idea where that assertion came from. That was really a rather odd statement to make. It is no more difficult to integrate with web services using Ruby and Rails than with any other language or framework. I should know; I do it all the time.
Python, or my personal preference Ruby, are vastly superior choices. Django and Rails are intentionally -- and more to the point, well -- designed to be friendly web frameworks, built on top of their respective languages.
I don't even call PHP a "language". It is just a hodgepodge of inconsistent utility functions bundled together. PHP was originally designed with the Web in mind, and only later added pretensions of being a general-purpose language, with Object Orientation kind of bolted on even later as an afterthought.
Because Python and Ruby are far more internally consistent than PHP (Ruby even more than Python, in my opinion), they are also easier to learn. However, learning the language and also the framework entails some serious work. That is just the nature of the beast... there is no getting around it. You need to know the language, the framework, HTML, CSS, and JavaScript.
I should add: I have been a politician... if you define "politician" as "someone who runs for office".
And I may be again; it depends on the circumstances. But one thing I can promise is that I would not be a "typical" politician. Yes, indeedy, I can guarantee that. I wasn't before and would not be again. See, lots of people in local politics don't like me because I have this one severe, undesirable trait: I like to tell the truth.
"You don't seem to understand. Republicans are doing their utmost to see that the government is entirely dysfunctional"
Um... pardon me, but Democrats had the Presidency AND one of the branchs of Congress -- at least until they screwed up so blatantly that people in the last election told them to GTFO -- and of course Republicans have been obstructionist in that sense because that's the way it works. You didn't bitch when the Democrats played (mostly bullshit and for show only) obstructionist against Bush.
BOTH of the "two big parties" have become a sad joke. If you don't recognize that, you haven't been paying attention.
"You are forgetting one important point. You are not a politician. A politician needs to be seen to be doing something to address issues that concern their constituents."
I am not forgetting it, I am dismissing it.
A representative should be DOING the right thing, not doing the thing that looks right. That is the nutshell summary of what has been wrong with politics for the last couple of decades.
The big problem is that no matter how useful such services may be, there have not been enough (or strong enough) guarantees of privacy.
Microsoft had this same idea, or close enough. They didn't have QR codes but otherwise the idea was the same. And it was a MAJOR failure. Nobody signed up.
>
Unless there are very solid and enforceable privacy guarantees, people will keep NOT signing up.
"A lot of people are buying the Pi to run XBMC. Since it can support 1080p flawlessly and the Via APC cannot, well... for many people the choice is obvious."
That's true and for that specific use, it may be fine. But from the reviews I have seen so far, just about any video processing other than playback is out of the question.
The Pi is intended to run a stripped-down version of Arch Linux, not Debian.
If it were a more standard flavor of Linux, like a regular Debian kernel, I'd definitely prefer it over Android.
"As a resident of the USA, how can I get one of these things?"
Wait a month and get a Via APC instead.
For $14 more than the Pi, you get twice as much RAM, a better operating system (a flavor of Android 2.3), a better CPU, 2GB of on board flash for your OS (and of course it has the obligatory MicroSD slot as well), plus standard VGA and HDMI out, 4 USB ports, 10/100 Ethernet, and standard audio in/out jacks.
The video probably isn't quite as good as the Pi (it maxes at 720p), but who is going to be doing sophisticated video with these devices anyway, at this stage? It's a hobbyist board.
And I almost forgot to mention: I got a call last year from someone wanting me to save their Rails site because they had gotten an email from Amazon saying that the server it was on was suffering from a hardware failure, and they would be taking it down in 3 days so they should grab everything off of it while they can.
Unfortunately, they received the email a day after those 3 days had already expired. Other than an old backup, their site was a total loss, and the database (also hosted by Amazon) was gone. So all their data from the time of the backup (which had been too long, admittedly) was lost.
And without a service contract, Amazon was exactly zero help. Yes, it was their server, and yes, the hardware problem was their responsibility, but no, they would not lift a single finger to assist without a service contract.
Also, if you recall, just about all of AWS went down for a period last year. As did Microsoft's cloud service, and Yahoo, and in fact just about all the "big solutions" that I can recall. Every single one of them had far more downtime last year than any of my sites.
Maybe it's just my personal opinion, but I can't stand using AWS. Relatively speaking, it's a pain in the ass (and slow) to maintain compared to updating my Rails sites using Git. And if you want it to be efficient for an international site, you pretty much have to use S3 for your static content and then CloudFront, which costs extra and adds another level of Pain In The Ass.
Just for example, take Wordpress and Joomla, the 2 that you mention.
There are already migration tools for those platforms, so most of your job is already done for you.
That was simply not true for me, in the case I mentioned.
"... if it takes you a very long time, it sounds like you're doing something dreadfully wrong."
The CMS in question was an old one that was not being maintained anymore, which was why they wanted to migrate to a newer one. I don't even remember the name anymore of the CMS they used. It isn't popular today.
Regardless, unlike with most other CMS systems today, there were no available tools for migrating from that CMS to anything else. I would have had to figure out the internal code and data organization of the CMS from scratch completely on my own and write my own code, also from scratch. Which, yes, would have taken quite a bit of time.
Had it been a more modern CMS like Wordpress or even Radiant, it would probably have been a breeze. But it wasn't.
"Let's face it: someone needs to find a way to let people code in straight C on shared webhosts in a safe way."
I would never do that myself, or subject other people to it, either.
Regardless, the fact is that Rails is an "opinionated" framework. They do not deny it at all. And also admittedly, there is a learning curve to using it comfortably. But one of the benefits of that hand-holding is "convention over configuration", which is an awesome idea that has since been borrowed by other frameworks: by default, you already know where everything you need is, and where new things should go. The result is an application that any other decent Rails user can sit down in front of and figure out in a short time.
Contrast that to PHP, where every application is structured according to the programmer's whim, and sometimes trying to figure out somebody else's idea of "organization" can be a long-term brain twister.
But having said that: you don't have to do everything their way. Once you know the framework, you can bypass as much of the "hand-holding" as you want, and do things your own way.
It's a good, flexible framework that uses a good language. Not perfect, but good. I would not even attempt to use PHP to do many of the things I do almost every day in Rails. The very thought is a nightmare. Yes, PHP is capable of doing those things. At great cost in time and sanity.
"It's that everything is different for no apparent reason and there's little organization to the whole thing."
This is exactly the reason I call PHP "a collection of utility functions" rather than a language. Very often -- routinely, even -- there will be two functions that do very similar things but that take different parameters or takes the parameters in a different order, or both, and return results differently.
And don't even get me started on PHP's "object oriented" parts.
This may all be the result of how PHP evolved over time, but the results are as you say: an incoherent jumble of "stuff".
Please pardon the multiple posts. New information has kept coming to light.
Phonegap is not a true cross-platform development system at all. It essentially builds web apps with JavaScript that run locally, with some added support for accessing native device functions from the javascript.
That is not the same thing at all. Rhodes builds native apps (iOS, Android) for the target devices, not web apps.
I should qualify that:
While the installation instructions for RhoStudio do specify Ruby 1.9.3, that is of course no guarantee that Rhodes supports all features of Ruby 1.9.3. Apparently (according to forum posts from last year) there were some problems with changing character encoding, which might be an issue if your app requires support for internationalization.
"It uses an older version of ruby and has a lot of problems as well."
I can't speak to those "other problems" (unspecified), but RhoStudio uses Ruby 1.9.3, which is the latest stable release.
I admit that it took a while to get my head wrapped around what that "magic" was doing behind the scenes, which is really necessary if you are serious about developing with it.
But I have, and now, given the graphics, I can get a basic site up and running very quickly, the majority of the time being spent on the layouts: HTML and CSS.
I have only one objection to Python, but it is a serious objection: most of the sites for which I develop have been on hosted servers. And most of those support Rails these days, but relatively few actively support Python and its frameworks.
"They didn't give up."
They might not have given up but it is also not a success. People continue to stay away from it in droves.
And I'd die of sepsis before trusting my health data to Walmart or AT&T.
"You'll learn almost nothing from putting up a WordPress site, except how frustrating it is to try to pick a set of plugins that mostly get you what you want done without making a mess of the site."
Agree. See my own comment just above, to pretty much the same effect. If those sites had been on Rails or some other sane platform, I could (or could have, in the one case) maintain them far, far easier and with fewer headaches.
CMS is fine for a small, static site or blog. But for anything more sophisticated, they are terrible to maintain.
One big company recently asked me to estimate what it would cost to move their cite from one CMS system to a different, more modern one. But the site is relatively old, with literally thousands of pages. And because there is no automated tool to migrate from that particular CMS system to another one, it would have to be done manually and it would take a very long time. I told them so. I never heard from them again, which is fine with me.
Another site I work on is in 5 different languages. But because the CMS they use doesn't support a language plugin (as does, say, Ruby on Rails), each language is effectively a DIFFERENT site, and has to be maintained as such.
I simply don't recommend that my customers use a CMS at all anymore, unless as I say they are just doing a blog or a small, simple, static site. My experience with CMS has been overwhelmingly negative. They may be relatively easy to set up, but in the long run they are far more trouble than they are worth.
"They can't even be bothered to tell you to enable javascript, which is really just pathetic."
This is a pet peeve of mine. Even the Twitter site does this wrong. If your javascript is turned off, it redirects you to a completely different page, with no history, so you can't just turn javascript on and hit the back button. No, you have to turn javascrpt on, then find the original link you clicked on, and click it again to get to the Twitter page you were trying to visit.
Hint, Twitter: That's a really, really bad user experience.
"... it has a quick learning curve and really does provides ample flexibility and power."
Not even close. Due to the gross inconsistencies that plague PHP throughout, its learning curve is terrible. Yes, you can get a "Hello World" app running quickly. But you can get a Rails "Hello World" application up and running just as quickly, with even less knowledge of the language.
And due to those same inconsistencies, learning PHP entails much more memorizing of a boatload of functions than other languages do, each of them with a bizarre list of parameters that are all different and even in different orders. Python and Ruby, on the other hand, are far more consistent in the way they operate and how methods are built.
If I wanted something that was easy to learn, PHP is just about the last choice I would make.
"Once you start integrating with devices and complex webservices then Rails is not as good a fit as something like Java."
Not so. In regard to devices, Rhodes is a cross-platform app development environment entirely built around Ruby and Rails. In fact, as far as I know, it is the only cross-platform mobile development system that has gained any popularity.
And as for web services, I have no idea where that assertion came from. That was really a rather odd statement to make. It is no more difficult to integrate with web services using Ruby and Rails than with any other language or framework. I should know; I do it all the time.
I second countach74.
Python, or my personal preference Ruby, are vastly superior choices. Django and Rails are intentionally -- and more to the point, well -- designed to be friendly web frameworks, built on top of their respective languages.
I don't even call PHP a "language". It is just a hodgepodge of inconsistent utility functions bundled together. PHP was originally designed with the Web in mind, and only later added pretensions of being a general-purpose language, with Object Orientation kind of bolted on even later as an afterthought.
Because Python and Ruby are far more internally consistent than PHP (Ruby even more than Python, in my opinion), they are also easier to learn. However, learning the language and also the framework entails some serious work. That is just the nature of the beast... there is no getting around it. You need to know the language, the framework, HTML, CSS, and JavaScript.
Nobody said serious web development was easy.
I should add: I have been a politician... if you define "politician" as "someone who runs for office".
And I may be again; it depends on the circumstances. But one thing I can promise is that I would not be a "typical" politician. Yes, indeedy, I can guarantee that. I wasn't before and would not be again. See, lots of people in local politics don't like me because I have this one severe, undesirable trait: I like to tell the truth.
"You don't seem to understand. Republicans are doing their utmost to see that the government is entirely dysfunctional"
Um... pardon me, but Democrats had the Presidency AND one of the branchs of Congress -- at least until they screwed up so blatantly that people in the last election told them to GTFO -- and of course Republicans have been obstructionist in that sense because that's the way it works. You didn't bitch when the Democrats played (mostly bullshit and for show only) obstructionist against Bush.
BOTH of the "two big parties" have become a sad joke. If you don't recognize that, you haven't been paying attention.
"You are forgetting one important point. You are not a politician. A politician needs to be seen to be doing something to address issues that concern their constituents."
I am not forgetting it, I am dismissing it.
A representative should be DOING the right thing, not doing the thing that looks right. That is the nutshell summary of what has been wrong with politics for the last couple of decades.
The big problem is that no matter how useful such services may be, there have not been enough (or strong enough) guarantees of privacy. Microsoft had this same idea, or close enough. They didn't have QR codes but otherwise the idea was the same. And it was a MAJOR failure. Nobody signed up.
>
Unless there are very solid and enforceable privacy guarantees, people will keep NOT signing up.
"what 40 year old patent? huh ? ... Where you listening to MP3s 40 years ago?"
No, but I was spelling and punctuating better than that when I was 6 years old.
But on to the point: except for this line
Technicolor, which made the first colour movie 90 years ago, holds key patents in digital audio and video.
... which I missed the first time around, the rest of the article pretty much gives the impression that they are trying to enforce very old patents.
Jerk.