For that to be usable, you would need a machine capable of running games quickly in a VM. This cuts away at your market significantly.
In short: No, it really doesn't, especially when we're talking about a game like World of Goo. This is a game that likely would've worked as a Flash game.
You're again imagining a serious performance hit that doesn't exist. There is a performance hit, but it's relatively small (and occasionally negative), in exchange for faster development, fewer bugs, and easier cross-platform. The most performance-intensive things are going to be graphics, physics, and sound, and there are cross-platform C libraries for each.
Frankly I'm already amazed they bothered to target Linux/x86, which is already an incredibly tiny games market.
Several indie games have found that Linux sales actually made a huge dent -- some found that their overall sales spiked when the Linux version became available, even if many of the new users played it on Windows.
And keep in mind, they already had everything portable enough. Porting to Linux would be much harder, I think, than porting from Linux to PowerPC.
(a) use Linux/PPC, (b) don't have a single x86 box they can play games on
Hey, I had a Powerbook. Powerful enough that I'd have loved to have a few games available while I was mobile. Expensive enough that I really didn't look forward to ditching it and buying a brand new laptop right away.
Yes, I had an x86 machine. A desktop.
Cross-compilation is not always trivial.
In this case, it actually really is.
And then you need to conduct all the testing, etc.
Or you could simply release an unsupported version. No one ever seems to do that, though.
Then there's the question someone else asked -- is this a game which really needs the raw performance of C or C++? Why wasn't it written in Java, or another language targeting the JVM? That would've trivialized the OS portability even more, and made the CPU architecture a no-brainer.
No, Java runs platform-independent code in a virtual machine, with no guarantee that any architecture-specific code will be compiled at any point.
Except for the fact that all major desktop Java implementations do just that with JIT, and gcj can statically compile it.
It provides portability but there's a significant performance cost.
Also a performance advantage. There's a reason LLVM is used in some parts of OS X that actually need performance.
Sometimes JIT compilation can be used to claw back a fair bit of performance, but that's not available for all platforms, and mostly useful for long-running server processes.
It is available for far more platforms than a platform-specific x86 binary. And a game certainly runs long enough for the performance advantages of runtime optimizations to kick in. About the only thing that wouldn't is a commandline app.
Loads of games are written to run in VMs: the most popular host VM is of course Flash.
Which really doesn't have a compatible open source implementation. Also doesn't support many targets we'd like -- for example, PPC LInux.
Major titles still need to be written in languages that compile down to native code
Like Java?
in order to provide the level of AI, physics, etc. that today's gamers expect.
I don't think you'll find any such heavy CPU requirements for World of Goo.
He probably understands perfectly well, and is just expressing his annoyance at that situation.
Besides which, many open source projects are only offered for download as source tarballs, which tend to compile just as well for ppc as for x86. So, if this is his first encounter with a (proprietary) game, that's a reasonable mistake.
Why not? They've ported it to the Wii, which is a PowerPC processor. They've also got Windows, Mac, and Linux ports to begin with, and the Mac port is a Universal Binary, as in, both x86 and PPC.
I can see why they wouldn't want to spend a lot of time on it, but this really looks like nothing more than a cross-compile needed. And yes, even if they wanted to do ARM.
I've been watching Greenhouse with this in mind, actually. Indie games, some of which look really good and interesting. World of Goo has had a "coming soon" button there for forever.
Well, Greenhouse doesn't have it yet, and this version has no DRM at all, and even a native deb. Awesome! Impulse buy!
I'd be curious to know what the statistics are, there...
let me guess, you don't like mssql because it's microsoft?
And because it's proprietary, single-platform, and expensive for what is, at the end of the day, just a database.
And because I have seen new and interesting things built with MySQL, like NDB. What has MS SQL got on that?
what a fucking sheep
Look who's talking.
More seriously, while I have pretty much no MS SQL experience, I don't particularly want to. The only good experience I've ever had from a Microsoft product was Halo. Bungie was acquired, and has now been sold, making me wonder if Microsoft had the chance to screw them up yet.
SQLite is good, if your datastore is less than 1GB.
Another quick Google, and we find these limits -- by default, the maximum database size is just under 32 terabytes.
Not that I'm suggesting it's a good choice at that point, especially with multiple processes. But it does make it kind of hard to take you seriously with that kind of imagined limit, unless you're suggesting there's a practical, performance wall after 1 gig.
Time is one necessary component. The other is to get management onboard once you have something really interesting.
Probably the single most motivating thing is to actually implement your vision, the way you want it implemented. A raise is nice, too, but almost beside the point.
And probably the single most demotivating thing is for a manager to completely ignore your idea -- or worse, introduce it months or years later, when it's already too late, and claim it was their own. Even worse, if it then fails, for them to take that opportunity to give credit where it's due, thus giving you the reputation as someone who thinks of interesting ideas that turn out to be spectacular failures.
do you really think you can get people to give up MSSQL?
In favor of MySQL, PostgreSQL, SQLite, even Oracle, yes, I do.
corporations wont even consider it for a number of years.
You must have some specific corporations in mind, because I've known many corporations to use each of the above technologies. In fact, SQLite is one of the most popular databases ever.
No, the reason it's not soon is because these other ones (CouchDB) aren't mature, and the ones that are (BigTable) aren't available at any price.
Do you want to risk that company tanking and your work going away?
Google is not likely to tank. Nor is Amazon. Nor is Rackspace, for that matter.
They are certainly not likely to tank without providing at least some warning and access to your data.
I can work fine over a IPSec link to my storage server (with more redundancy)
How is that more redundancy, exactly? Do you have your work saved across multiple machines in multiple datacenters, each with multiple generator backup, multiple backbone connections, etc?
No, you have a "server" -- implying one server. When it goes down, you're fucked.
and run subversion to keep track of my work.
And that just lost you all credibility. Were you running a DVCS, you might have a point -- I feel pretty confident about most of my data in Git, because whenever I deploy (to "the cloud", as you put it), there's a full copy of that Git repository on each server I deploy to, plus one on my laptop.
But with Subversion, when that one server goes down, you're really fucked.
Unless, of course, you're making backups, in which case your data is probably safe, but you still need to build a new server. But how is that different than me making database dumps from an EC2 instance to S3, or to my local machine?
Searchability is a big one. Indexes don't even come close to just doing a fulltext search.
Netbooks can be had which weigh under 2 lbs. I don't have one of those, but my current laptop is with me everywhere. Dead-tree books means I would have to carry at least one, if not two, for each class, plus that laptop -- it's just dead weight. In high school, at least, this was actually unhealthy -- backpacks weighing 20 to 50 lbs are no fun.
The things you've mentioned are pretty much blown away by decent software. Folding down corners, as a poor-man's bookmark, resulting in dog-eared pages? Just save a "bookmark", or five. Drawing in the margins, I haven't really seen, though I'm sure it's been done. Highlighters? Just copy/paste an interesting passage into your notes.
Pure nostalgia, I get. I've talked to people who love the smell of a book, new or old, who like the feel of that paper between their fingers -- and I understand that. It doesn't mean eBooks won't happen -- do you still get your news from the newspaper, or do you get it from sources like Slashdot? Do you ever miss the feel of newspaper between your fingers when you can read fresh news, about things you're specifically interested in, tied directly to a forum where you can read what other people have to say about it, and discuss it yourself?
Yeah... when can I start buying O'Reilly books in a free ebook format? I'd settle for PDF, even, but it seems the best I can do is order a dead-tree version and hook it up to their Safari site, which is only accessible through a browser, only searchable through their search, and not possible to download.
The problem with your theory is you are coming up with an either or scenario, either the code gets smaller( and by your count more buggy) or the code gets bigger and more stable.
Absolutely not -- I started my post saying, "There's a lot of each." I probably should have provided examples of efficient-but-buggy, so here you go: Windows 98 was faster and more efficient, in many respects, than Windows XP. Which was more stable? Which would you actually want to use, even on a netbook?
And as you pointed out MPlayer, which doesn't have 1/100 the resources of Adobe, can render Flash 10 better than Adobe can.
Note also that we're talking about mplayer rendering video better than Adobe -- and it still tends to have horrible AV sync issues when I try to play Flash video. But Flash does a lot more than that.
The other one is the real problem: The whole "we'll fix it with a patch later" mentality.
Yes, I agree. But that has to do with overall code quality -- which is, again, not directly tied to efficiency.
That is why I am hoping that the rise of the Netbook, along with what I am sure will be rising energy prices, will weed out the crappy companies putting out totally bloated code.
And that's just ridiculous -- if that were the case, we'd be seeing rock solid code on consoles and cell phones, wouldn't we?
Yet games still ship with showstopper bugs -- we're talking about a game which will auto-save in an un-winnable state, requiring you to start over from the beginning. There was also a demo disc put out for the PS2 which, merely by loading a certain game, corrupted entire memory cards full of savegames.
What's more, netbooks are still more than powerful enough to write code in inefficient, high-level languages. Look at the word itself -- they are netbooks. What do you find on the net? Why, things like Gmail, and Google Docs, which are written in Javascript, yet manage to provide a decent experience.
The point is not to be deliberately wasteful, but rather, to avoid premature optimization.
But how much of that is the need for raw power VS the problem of really crappy code?
There's a lot of each.
Every now and then, I run a test of a YouTube (or other) video played in its native Flash player, and in a third-party player like VLC or mplayer.
Not only is the mplayer version higher quality (better antialiasing), and more usable (when I move my mouse to another monitor, Flash fullscreen goes away), but it's the difference between using 30-50% CPU for the tiny browser version, and using 1% or less fullscreen.
In Flash 10 -- yes, I'll say that again, flash TEN, the latest version -- they finally introduced hardware acceleration and 3D graphics. I think I know why it's called Flash 10 -- it finally lets Flash developers do what desktop developers were doing 10 years ago.
now I have noticed the software has taken on the SUV model of not caring how crappy the resource suckage as long as you can add more crap to it.
There are other reasons to hate SUVs...
But here's a good reason to think about functionality and development time long before you think about performance:
While there are obvious exceptions, you pretty much always find that performance is inversely proportional to readability, maintainability, and stability.
Specifically, there was a study which showed that bugs per LOC remain constant across languages. So, if it takes me 500 lines to do something in assembly, and 100 lines to do it in C, and 10 lines to do it in Ruby, I'll take the Ruby version unless I have a very good reason not to. There's less chance I'll screw something up, and it's probably much clearer what I mean.
The tools will catch up -- Ruby just got twice as fast. And the really performance-critical stuff, I can rewrite in C, or even assembly, if I must. But for the most part, even on a netbook, there's tons of resources to throw at the problem, versus the amount of programmer resources it might take.
Because with the economy in the toilet and prices likely to go no where but up
...
Do you have any idea how the economy works?
when it comes to energy we could all use more efficient machines
Ok, quick question: How much power does your system use? This laptop typically uses less than 25 watts -- that's for the whole system. The cord is capable of 90 watts, but it works.
It has 128 gigs of disk space, 4 gigs of RAM, and dual 2.5 ghz CPUs, that run at 800 mhz most of the time.
If a program is 10 megs, uses 200 megs of RAM, and uses some 20% of a single core, I really don't care -- I might bitch about how it could be more efficient, but it works, and I can run
If a program is 100 kilobytes, uses 2 megs of RAM, and less than 1% of a single core, fine! Great! But if that program also crashes periodically, isn't 64-bit compatible, and is missing large chunks of functionality -- and despite being open source, I'm loathe to try to add it myself, as my C fu is not strong, and their code isn't very readable... I'd say it's not worth it, and I'd seriously consider that inefficient alternative.
You are right -- you shouldn't need a dual core to watch Youtube. But wishing for the "good old days" is just as foolish.
I can watch 1920x1080 movies, smoothly, at least 30fps, if not 60. A quick calculation shows that the poor machine would likely be using over half its RAM just to store a single frame at that resolution. I'd be amazed if your 486 could do 640x480 at an acceptable framerate -- note that we had a different measure of "acceptable" back then.
Also consider: Even if we disregard Flash, I am guessing talking to the network -- just straight TCP and IP -- is going to be its own kind of difficult. Keep in mind, Ogg Vorbis was named for how it "ogged" the audio, and machines of the time couldn't really do much else -- while decoding audio.
Yes, there are hacks we could use to make it work. There are horribly ugly (but efficient) codecs we could use. We could drop JavaScript support, and give up the idea of rich web apps.
And yes, there is a lot of waste involved. But it's been said before, and it is worth mentioning -- computers need to be faster now because we are making them do more. Some of it is bloat, and some of it is actual new functionality that would've been impossible ten years ago.
Why would even watching a video on youtube need a 16-core processor?
You clearly underestimate how much Flash sucks.
People got along just fine on Pentium II's.
And they did quite a lot less. Ignoring Flash, those Pentium IIs, I'm guessing, are physically incapable of watching a YouTube video, and are certainly incapable of watching an HD video from, say, Vimeo.
I would love to see that sourced, as it's an excellent statistic.
I'd also love to see what crimes they were, in particular, and what the punishment is. For example, "convicted" of a parking offense? I'll pay the $20. "Convicted" of heresy? I'll fight that -- I don't want to die!
trying to say that techies are so stupid that they can only comprehend there being one piece of evidence in a trial and they think that if they cast doubt on this one piece of evidence then the accused is in the clear.
Unfortunately, the norm seems to be one piece of evidence. For example:
If I prove that a screenshot of an IP address could be photoshopped yet there are logs upon logs provided by the ISP backing this up, I have done little if anything.
Now, granted, I would rather the standard be set a little higher than the logs of a single ISP, but you've got a point.
But, often, it's just that single photoshoppable screenshot. Or, it only takes that one screenshot to convince the ISP to turn over those logs -- depending on the logs, I would usually hope it would take more proof to get into my private stuff.
Thank you for the world class revelation, Paul.
I'm giving him the benefit of the doubt, mostly because he's Slashdotted, so it might be a very good article. Even if it's not, it's still not a bad theme.
the amount of "Hrmm...." that would cause a reasonable person to suspect it might not be true.
The problem is, often the "reasonable people" in the Jury don't have enough imagination. Sometimes, they go on gut feeling -- it's an "I don't like this guy, I think he did it," rather than a "Well, the evidence actually seems to support that this guy did it."
If it's a single IP address in a log which might've been photoshopped, I don't think that should be admissible. If it's that, plus logs from the ISP, plus an eyewitness account, then it's starting to get into the realm of, either they did it, or there's a massive conspiracy to frame them.
but that the company that runs the DRM decides to shut it down.
Or they decide you're a pirate, and they shut you down. Maybe they've made a mistake. Maybe they just don't like you. Maybe they've pegged you as someone they know will buy it again.
Or you find some new epaper gadget that does ebooks, unfolds to a GPS map, does everything an iPhone does and more... but they haven't licensed Amazon's DRM. Or maybe Amazon refuses to license said DRM, because they feel they'll make more on Kindle. So you either have to carry extra devices, or you have to crack the DRM, or you have to buy it again.
Or your device dies, and you decide to buy a new one -- you're still locked into Amazon. Maybe they'll decide that all your old books were locked to the old device, and that clearly, the old device isn't really broken, but you've sold it (and all your books), and you must therefore buy your books over again.
It's really not hard to come up with scenarios where Amazon (or Apple) is alive and well, yet you have to buy stuff again for no good reason.
Maybe a couple of years from now they'll back off DRM, same as Apple eventually did.
Yeah. Thanks for encouraging them not to bother. With your dollars, no less.
For that matter, WTF is so difficult about building a web-based store that Apple still requires iTunes to sell you these un-DRM'd tracks?
You think marriage is that simple, you just say "it should be this way" and it is?
Nope. That's why I said:
you do want to be reasonable, you do want to listen to her needs. You want to be sensitive, and caring, and responsible. But that has to go both ways...
Not married, but I have been in relationships. Yes, it's difficult, I'm not trying to bring it down to a simple "It's going like this because I say so" ultimatum.
But that is exactly what would happen if it got this bad. We're talking about a man begging his wife to spend $20. At minimum wage, that's maybe four hours of work, on something that will be used for years.
No, I don't think it's that simple -- but it is pretty simple to see that something's wrong. Either they really do have serious financial issues (so WTF is he doing buying a new computer?) , or they have just as serious relationship issues.
So lets abandon the free net because of Microsoft's security holes. Great idea.
And move towards something even more vulnerable to such attacks. No thanks.
It would be nice if they remembered occasionally how much of that funding came from ordinary citizens. Especially Obama.
For that to be usable, you would need a machine capable of running games quickly in a VM. This cuts away at your market significantly.
In short: No, it really doesn't, especially when we're talking about a game like World of Goo. This is a game that likely would've worked as a Flash game.
You're again imagining a serious performance hit that doesn't exist. There is a performance hit, but it's relatively small (and occasionally negative), in exchange for faster development, fewer bugs, and easier cross-platform. The most performance-intensive things are going to be graphics, physics, and sound, and there are cross-platform C libraries for each.
Frankly I'm already amazed they bothered to target Linux/x86, which is already an incredibly tiny games market.
Several indie games have found that Linux sales actually made a huge dent -- some found that their overall sales spiked when the Linux version became available, even if many of the new users played it on Windows.
And keep in mind, they already had everything portable enough. Porting to Linux would be much harder, I think, than porting from Linux to PowerPC.
(a) use Linux/PPC, (b) don't have a single x86 box they can play games on
Hey, I had a Powerbook. Powerful enough that I'd have loved to have a few games available while I was mobile. Expensive enough that I really didn't look forward to ditching it and buying a brand new laptop right away.
Yes, I had an x86 machine. A desktop.
Cross-compilation is not always trivial.
In this case, it actually really is.
And then you need to conduct all the testing, etc.
Or you could simply release an unsupported version. No one ever seems to do that, though.
Then there's the question someone else asked -- is this a game which really needs the raw performance of C or C++? Why wasn't it written in Java, or another language targeting the JVM? That would've trivialized the OS portability even more, and made the CPU architecture a no-brainer.
No, Java runs platform-independent code in a virtual machine, with no guarantee that any architecture-specific code will be compiled at any point.
Except for the fact that all major desktop Java implementations do just that with JIT, and gcj can statically compile it.
It provides portability but there's a significant performance cost.
Also a performance advantage. There's a reason LLVM is used in some parts of OS X that actually need performance.
Sometimes JIT compilation can be used to claw back a fair bit of performance, but that's not available for all platforms, and mostly useful for long-running server processes.
It is available for far more platforms than a platform-specific x86 binary. And a game certainly runs long enough for the performance advantages of runtime optimizations to kick in. About the only thing that wouldn't is a commandline app.
Loads of games are written to run in VMs: the most popular host VM is of course Flash.
Which really doesn't have a compatible open source implementation. Also doesn't support many targets we'd like -- for example, PPC LInux.
Major titles still need to be written in languages that compile down to native code
Like Java?
in order to provide the level of AI, physics, etc. that today's gamers expect.
I don't think you'll find any such heavy CPU requirements for World of Goo.
He probably understands perfectly well, and is just expressing his annoyance at that situation.
Besides which, many open source projects are only offered for download as source tarballs, which tend to compile just as well for ppc as for x86. So, if this is his first encounter with a (proprietary) game, that's a reasonable mistake.
Why not? They've ported it to the Wii, which is a PowerPC processor. They've also got Windows, Mac, and Linux ports to begin with, and the Mac port is a Universal Binary, as in, both x86 and PPC.
I can see why they wouldn't want to spend a lot of time on it, but this really looks like nothing more than a cross-compile needed. And yes, even if they wanted to do ARM.
I've been watching Greenhouse with this in mind, actually. Indie games, some of which look really good and interesting. World of Goo has had a "coming soon" button there for forever.
Well, Greenhouse doesn't have it yet, and this version has no DRM at all, and even a native deb. Awesome! Impulse buy!
I'd be curious to know what the statistics are, there...
let me guess, you don't like mssql because it's microsoft?
And because it's proprietary, single-platform, and expensive for what is, at the end of the day, just a database.
And because I have seen new and interesting things built with MySQL, like NDB. What has MS SQL got on that?
what a fucking sheep
Look who's talking.
More seriously, while I have pretty much no MS SQL experience, I don't particularly want to. The only good experience I've ever had from a Microsoft product was Halo. Bungie was acquired, and has now been sold, making me wonder if Microsoft had the chance to screw them up yet.
Suggesting that you could replace a MS-SQL server with SQLite basically forces anybody in the know to ignore every other point you make.
You're assuming that the person using MS-SQL Server knows what they're doing. How do you know it's more than just a glorified Access database?
MySQL is good, unless you need a highly performent query analyzer.
In other words, the query analyzer is slow? Because the queries work well enough.
Postgres is good, unless you need actual replication features.
Like these?
SQLite is good, if your datastore is less than 1GB.
Another quick Google, and we find these limits -- by default, the maximum database size is just under 32 terabytes.
Not that I'm suggesting it's a good choice at that point, especially with multiple processes. But it does make it kind of hard to take you seriously with that kind of imagined limit, unless you're suggesting there's a practical, performance wall after 1 gig.
Time is one necessary component. The other is to get management onboard once you have something really interesting.
Probably the single most motivating thing is to actually implement your vision, the way you want it implemented. A raise is nice, too, but almost beside the point.
And probably the single most demotivating thing is for a manager to completely ignore your idea -- or worse, introduce it months or years later, when it's already too late, and claim it was their own. Even worse, if it then fails, for them to take that opportunity to give credit where it's due, thus giving you the reputation as someone who thinks of interesting ideas that turn out to be spectacular failures.
You get the idea.
do you really think you can get people to give up MSSQL?
In favor of MySQL, PostgreSQL, SQLite, even Oracle, yes, I do.
corporations wont even consider it for a number of years.
You must have some specific corporations in mind, because I've known many corporations to use each of the above technologies. In fact, SQLite is one of the most popular databases ever.
No, the reason it's not soon is because these other ones (CouchDB) aren't mature, and the ones that are (BigTable) aren't available at any price.
As an example, it assumes all servers are operating on the same grid, in the same environment.
I suspect they are thinking about things like EC2, which has a pricing model exactly like that -- per hour per server, no matter how many of each.
Do you want to risk that company tanking and your work going away?
Google is not likely to tank. Nor is Amazon. Nor is Rackspace, for that matter.
They are certainly not likely to tank without providing at least some warning and access to your data.
I can work fine over a IPSec link to my storage server (with more redundancy)
How is that more redundancy, exactly? Do you have your work saved across multiple machines in multiple datacenters, each with multiple generator backup, multiple backbone connections, etc?
No, you have a "server" -- implying one server. When it goes down, you're fucked.
and run subversion to keep track of my work.
And that just lost you all credibility. Were you running a DVCS, you might have a point -- I feel pretty confident about most of my data in Git, because whenever I deploy (to "the cloud", as you put it), there's a full copy of that Git repository on each server I deploy to, plus one on my laptop.
But with Subversion, when that one server goes down, you're really fucked.
Unless, of course, you're making backups, in which case your data is probably safe, but you still need to build a new server. But how is that different than me making database dumps from an EC2 instance to S3, or to my local machine?
Searchability is a big one. Indexes don't even come close to just doing a fulltext search.
Netbooks can be had which weigh under 2 lbs. I don't have one of those, but my current laptop is with me everywhere. Dead-tree books means I would have to carry at least one, if not two, for each class, plus that laptop -- it's just dead weight. In high school, at least, this was actually unhealthy -- backpacks weighing 20 to 50 lbs are no fun.
The things you've mentioned are pretty much blown away by decent software. Folding down corners, as a poor-man's bookmark, resulting in dog-eared pages? Just save a "bookmark", or five. Drawing in the margins, I haven't really seen, though I'm sure it's been done. Highlighters? Just copy/paste an interesting passage into your notes.
Pure nostalgia, I get. I've talked to people who love the smell of a book, new or old, who like the feel of that paper between their fingers -- and I understand that. It doesn't mean eBooks won't happen -- do you still get your news from the newspaper, or do you get it from sources like Slashdot? Do you ever miss the feel of newspaper between your fingers when you can read fresh news, about things you're specifically interested in, tied directly to a forum where you can read what other people have to say about it, and discuss it yourself?
Yeah... when can I start buying O'Reilly books in a free ebook format? I'd settle for PDF, even, but it seems the best I can do is order a dead-tree version and hook it up to their Safari site, which is only accessible through a browser, only searchable through their search, and not possible to download.
The problem with your theory is you are coming up with an either or scenario, either the code gets smaller( and by your count more buggy) or the code gets bigger and more stable.
Absolutely not -- I started my post saying, "There's a lot of each." I probably should have provided examples of efficient-but-buggy, so here you go: Windows 98 was faster and more efficient, in many respects, than Windows XP. Which was more stable? Which would you actually want to use, even on a netbook?
And as you pointed out MPlayer, which doesn't have 1/100 the resources of Adobe, can render Flash 10 better than Adobe can.
Note also that we're talking about mplayer rendering video better than Adobe -- and it still tends to have horrible AV sync issues when I try to play Flash video. But Flash does a lot more than that.
The other one is the real problem: The whole "we'll fix it with a patch later" mentality.
Yes, I agree. But that has to do with overall code quality -- which is, again, not directly tied to efficiency.
That is why I am hoping that the rise of the Netbook, along with what I am sure will be rising energy prices, will weed out the crappy companies putting out totally bloated code.
And that's just ridiculous -- if that were the case, we'd be seeing rock solid code on consoles and cell phones, wouldn't we?
Yet games still ship with showstopper bugs -- we're talking about a game which will auto-save in an un-winnable state, requiring you to start over from the beginning. There was also a demo disc put out for the PS2 which, merely by loading a certain game, corrupted entire memory cards full of savegames.
What's more, netbooks are still more than powerful enough to write code in inefficient, high-level languages. Look at the word itself -- they are netbooks. What do you find on the net? Why, things like Gmail, and Google Docs, which are written in Javascript, yet manage to provide a decent experience.
The point is not to be deliberately wasteful, but rather, to avoid premature optimization.
But how much of that is the need for raw power VS the problem of really crappy code?
There's a lot of each.
Every now and then, I run a test of a YouTube (or other) video played in its native Flash player, and in a third-party player like VLC or mplayer.
Not only is the mplayer version higher quality (better antialiasing), and more usable (when I move my mouse to another monitor, Flash fullscreen goes away), but it's the difference between using 30-50% CPU for the tiny browser version, and using 1% or less fullscreen.
In Flash 10 -- yes, I'll say that again, flash TEN, the latest version -- they finally introduced hardware acceleration and 3D graphics. I think I know why it's called Flash 10 -- it finally lets Flash developers do what desktop developers were doing 10 years ago.
now I have noticed the software has taken on the SUV model of not caring how crappy the resource suckage as long as you can add more crap to it.
There are other reasons to hate SUVs...
But here's a good reason to think about functionality and development time long before you think about performance:
While there are obvious exceptions, you pretty much always find that performance is inversely proportional to readability, maintainability, and stability.
Specifically, there was a study which showed that bugs per LOC remain constant across languages. So, if it takes me 500 lines to do something in assembly, and 100 lines to do it in C, and 10 lines to do it in Ruby, I'll take the Ruby version unless I have a very good reason not to. There's less chance I'll screw something up, and it's probably much clearer what I mean.
The tools will catch up -- Ruby just got twice as fast. And the really performance-critical stuff, I can rewrite in C, or even assembly, if I must. But for the most part, even on a netbook, there's tons of resources to throw at the problem, versus the amount of programmer resources it might take.
Because with the economy in the toilet and prices likely to go no where but up
...
Do you have any idea how the economy works?
when it comes to energy we could all use more efficient machines
Ok, quick question: How much power does your system use? This laptop typically uses less than 25 watts -- that's for the whole system. The cord is capable of 90 watts, but it works.
It has 128 gigs of disk space, 4 gigs of RAM, and dual 2.5 ghz CPUs, that run at 800 mhz most of the time.
If a program is 10 megs, uses 200 megs of RAM, and uses some 20% of a single core, I really don't care -- I might bitch about how it could be more efficient, but it works, and I can run
If a program is 100 kilobytes, uses 2 megs of RAM, and less than 1% of a single core, fine! Great! But if that program also crashes periodically, isn't 64-bit compatible, and is missing large chunks of functionality -- and despite being open source, I'm loathe to try to add it myself, as my C fu is not strong, and their code isn't very readable... I'd say it's not worth it, and I'd seriously consider that inefficient alternative.
You are right -- you shouldn't need a dual core to watch Youtube. But wishing for the "good old days" is just as foolish.
Again: What quality of movie?
I can watch 1920x1080 movies, smoothly, at least 30fps, if not 60. A quick calculation shows that the poor machine would likely be using over half its RAM just to store a single frame at that resolution. I'd be amazed if your 486 could do 640x480 at an acceptable framerate -- note that we had a different measure of "acceptable" back then.
Also consider: Even if we disregard Flash, I am guessing talking to the network -- just straight TCP and IP -- is going to be its own kind of difficult. Keep in mind, Ogg Vorbis was named for how it "ogged" the audio, and machines of the time couldn't really do much else -- while decoding audio.
Yes, there are hacks we could use to make it work. There are horribly ugly (but efficient) codecs we could use. We could drop JavaScript support, and give up the idea of rich web apps.
And yes, there is a lot of waste involved. But it's been said before, and it is worth mentioning -- computers need to be faster now because we are making them do more. Some of it is bloat, and some of it is actual new functionality that would've been impossible ten years ago.
Why would even watching a video on youtube need a 16-core processor?
You clearly underestimate how much Flash sucks.
People got along just fine on Pentium II's.
And they did quite a lot less. Ignoring Flash, those Pentium IIs, I'm guessing, are physically incapable of watching a YouTube video, and are certainly incapable of watching an HD video from, say, Vimeo.
I would love to see that sourced, as it's an excellent statistic.
I'd also love to see what crimes they were, in particular, and what the punishment is. For example, "convicted" of a parking offense? I'll pay the $20. "Convicted" of heresy? I'll fight that -- I don't want to die!
trying to say that techies are so stupid that they can only comprehend there being one piece of evidence in a trial and they think that if they cast doubt on this one piece of evidence then the accused is in the clear.
Unfortunately, the norm seems to be one piece of evidence. For example:
If I prove that a screenshot of an IP address could be photoshopped yet there are logs upon logs provided by the ISP backing this up, I have done little if anything.
Now, granted, I would rather the standard be set a little higher than the logs of a single ISP, but you've got a point.
But, often, it's just that single photoshoppable screenshot. Or, it only takes that one screenshot to convince the ISP to turn over those logs -- depending on the logs, I would usually hope it would take more proof to get into my private stuff.
Thank you for the world class revelation, Paul.
I'm giving him the benefit of the doubt, mostly because he's Slashdotted, so it might be a very good article. Even if it's not, it's still not a bad theme.
the amount of "Hrmm...." that would cause a reasonable person to suspect it might not be true.
The problem is, often the "reasonable people" in the Jury don't have enough imagination. Sometimes, they go on gut feeling -- it's an "I don't like this guy, I think he did it," rather than a "Well, the evidence actually seems to support that this guy did it."
If it's a single IP address in a log which might've been photoshopped, I don't think that should be admissible. If it's that, plus logs from the ISP, plus an eyewitness account, then it's starting to get into the realm of, either they did it, or there's a massive conspiracy to frame them.
The dangerous thing is not the DRM itself,
Guns aren't dangerous, people are.
but that the company that runs the DRM decides to shut it down.
Or they decide you're a pirate, and they shut you down. Maybe they've made a mistake. Maybe they just don't like you. Maybe they've pegged you as someone they know will buy it again.
Or you find some new epaper gadget that does ebooks, unfolds to a GPS map, does everything an iPhone does and more... but they haven't licensed Amazon's DRM. Or maybe Amazon refuses to license said DRM, because they feel they'll make more on Kindle. So you either have to carry extra devices, or you have to crack the DRM, or you have to buy it again.
Or your device dies, and you decide to buy a new one -- you're still locked into Amazon. Maybe they'll decide that all your old books were locked to the old device, and that clearly, the old device isn't really broken, but you've sold it (and all your books), and you must therefore buy your books over again.
It's really not hard to come up with scenarios where Amazon (or Apple) is alive and well, yet you have to buy stuff again for no good reason.
Maybe a couple of years from now they'll back off DRM, same as Apple eventually did.
Yeah. Thanks for encouraging them not to bother. With your dollars, no less.
For that matter, WTF is so difficult about building a web-based store that Apple still requires iTunes to sell you these un-DRM'd tracks?
You think marriage is that simple, you just say "it should be this way" and it is?
Nope. That's why I said:
you do want to be reasonable, you do want to listen to her needs. You want to be sensitive, and caring, and responsible. But that has to go both ways...
Not married, but I have been in relationships. Yes, it's difficult, I'm not trying to bring it down to a simple "It's going like this because I say so" ultimatum.
But that is exactly what would happen if it got this bad. We're talking about a man begging his wife to spend $20. At minimum wage, that's maybe four hours of work, on something that will be used for years.
No, I don't think it's that simple -- but it is pretty simple to see that something's wrong. Either they really do have serious financial issues (so WTF is he doing buying a new computer?) , or they have just as serious relationship issues.