it burned at temperatures of 800C for more than 18 hours [AFP]... The fire in WTC 1 is reported to have burned at 800C
And how do they know this? Either of those facts?
The building was designed to have a fully loaded 707 crash into it, that was the largest plane at the time.
Yeah -- designed to. Doesn't mean it was a flawless design.
this structure is like the mosquito netting on your screen door - this intense grid - and the plane is just a pencil puncturing that screen netting.
That'd be an interesting experiment -- take that mosquito netting, and use it to build a little square tower. What happens if you throw a pencil at that?
What happens if it's not a pencil, but a welding torch?
Because as it is, the mosquito netting on your screen door is held up by the door frame. What happens if you kick the door frame hard enough?
But assume they're right:
you have to conclude that either a fundamental flaw existed in WTC 1's inner core construction, or a fundamental flaw exists in the official explanation of the building's collapse.
I don't know how it actually works, but you could make a lot of the same arguments:
- Certainly, there are blogs, and politically lobbying, if that counts as "church".
- The Internal Combustion Engine is the original sin.
- Ford is the devil.
- Guilt comes from having any environmental footprint at all -- or of not having a significant negative footprint, to make up for everyone else
- Suffering comes in the form of paying extra for organic and otherwise "clean" versions of everything, and walking/biking instead of driving
- Nuclear energy just puts the pollution off a bit -- so they're heretics....and so on.
The GNU guys could be the "open source" equivalent of PETA or the guys who burn down new developments.
Except that they don't burn anything down. The worst that they do is sue people for GPL violations -- so they're more the equivalent of an effective EPA.
the core is that Richard Dawkins concept of "Memes" are real and GNU, and probably every other social/religious moment are "viruses" that infect our brains.
Sometimes, there's some sort of antibody, but that's rare.
I wrote about this awhile ago -- still don't have a blog, but maybe every few months, I write something. Read thesetwo, if you're interested.
Even then, it's a heck of a lot more pain to pack a PC, monitor, keyboard, mouse, and speakers than to grab a controller.
True enough, but I think it's worth it for the benefit of having my own screen, my own equipment, and the use of a mouse.
Also: Gaming laptops are practical now. So that means it's the laptop, a power cable, and (if you need one) a mouse.
Then again, a LAN party is something we have maybe once a month, instead of a few times a week. So, as I said, I can see the appeal.
What advantage would screen peeping give in a game like Bomberman or Super Smash Bros. that shows the whole arena on one screen anyway?
I don't know. Are those the only games you play?
Assume that a family already owns a television and a PC.
Only one PC for the entire family?
Alright, you win. I haven't been in a family with less than two computers, at least, in quite awhile.
plus you often have to buy the game discs separately for each PC.
For a family, it makes sense that you want exactly one copy for the entire family.
I was figuring something more like a gathering of adults, since you said "friends" -- in which case, your scenario only makes sense if they don't have their own system or copy of the game.
Linux is free enough. Ubuntu isn't. Try not to get the two confused.
(And read my sig -- I use Ubuntu.)
I read somewhere that they even removed GLX
True enough -- because GLX itself has some restrictive licensing.
which basically represents linux's only sane graphical development. That is just sad.
Yeah, it is kind of sad that Linux's only sane graphical development is so restrictively licensed. I have to wonder if it holds us back at all.
part of what makes linux awesome is the fact that it's generally supported by some important commercial things like adobe flash and nvidia
Were it not for YouTube, I could probably live without Flash. And Firefox is getting support for the video tag, so there's hope for that yet.
And no, "Linux" doesn't have support for YouTube. 32-bit Intel Linux does. Much smaller crowd.
nvidia -- yes, and ATI. And then there's Intel, which actually has much more open drivers.
And I should mention: with some very basic effects turned on in KDE3 (drop shadows, etc), I still find occasionally that opening a Kopete message can crash X. And yes, that's X crashing, not KDE, so I place that pretty much entirely in nVidia's lap.
Linux is awesome in spite of the need for proprietary drivers, not because of them. If there was an open driver that I could use instead, my X wouldn't crash. (Frankly, it's embarrassing. Remember when Linux used to be more reliable than Windows?)
how about mplayer? I am more in the "screw licenses" boat than the "boycott anything without gnu written on it" raft.
OLPC is the nerd equivalent of a missionary spreading the gospel of Free Software to the heathens in "3rd world countries"
Erm, or it's an educational tool. I happen to think that free software is the best platform for that, but it has its own merits.
Closed source printer drivers are the original sin.
Except that we all supposedly inherit "original sin" -- I really don't see how we, at birth, inherit the sin of closed source printer drivers. Certainly, all the printer drivers I use are open.
While I'm at it...
"Agile Methodology," or "Ruby on Rails"
How are these like a religion?
I can see some parallels of my own, but I want to know how they fit the same pattern -- and, more importantly, give an example of any organized social movement which doesn't fit that pattern.
It won't be long before the Futurama's "Church of Star Wars" comes true.
Happened already. There was some census which showed a not-insignificant number of people wrote in "Jedi" as their religion.
(Replace "Ubuntu" with "Windows" and "gNewSense" with "Linux" for a parallel argument.)
You'd also have to replace "3D acceleration" with something else. After all, this isn't just about convenience; it's not any specific driver so much as GLX itself that makes this impossible.
I'd rather have the ability to flesh out the story rather than be frustrated by a bloody insane enemy in a game that stops me from enjoying the story until I go to a few ruins and grind levels.
There are two solutions I like better for that:
One, have difficulty levels. Or cheats. Let you play on easy, the rest of us can enjoy the challenge of an insane boss.
Two, watch a movie. Or a TV series. Or read a book. If all you want is to see a story fleshed out, there's a way to do that without any challenge at all.
As the saying goes: "Damned if you do, damned if you don't."
If you don't point out the mistakes, then you're the one who gets blamed when there is (inevitably) a security breach.
If you do point out the mistakes, you've irritated and embarrassed the user -- and, possibly, forced them into doing something they don't want to.
Which means, assuming you never make a mistake, the only kind of feedback you'll ever get is negative -- that you were annoying, or that you failed -- never positive. (Compare this to, at the very least, a sysadmin -- bring up a new service, and you get to be a hero, at least for awhile. But nobody ever sees an attack that failed.)
Let just one of those characteristics go away and the problem becomes a LOT harder. For example, accounts payable. It is NOT OK to pay twice or not at all.
Taking that example, one easy solution is to make the system idempotent, and to detect errors.
So if, for whatever reason, the transaction fails (which can happen on a traditional database, too), you can just try again (before the check is printed). If you manage to try to enter the same record twice, the system will automatically correct it -- all you need to do is make sure it was successful at least once.
I'd say the requirement is that the job is embarrassingly parallel, and that it needn't be hard realtime. The rest of it can be adjusted -- in fact, Amazon's Dynamo can be tuned (as a config option) for how much integrity/availability is needed.
The issue is that the pc software and hardware architecture is well understood. It is trivial to remove DRM elements from any piece of software.
Have you done so? If not, I wouldn't go calling it trivial. For all I know, it takes quite a lot of work.
Consoles have less issues with piracy because the hardware is a closed system and people must reverse engineer how the system functions in order to emulate or break the system.
Great theory. It's also pathetically wrong.
The reason PCs have a problem with piracy, and consoles don't, is that once the warez group has done the hard work, it's far easier for Average Joe to pirate on a PC. Just go to a torrent site, download the game, follow instructions in the README (usually "install game, then swap our EXE for theirs" or something). And once it's installed, it'll generally keep working, until you uninstall it because you needed the disk space.
Compare this to a console, where, assuming you get the game burned properly (after downloading), it's going to be somewhat degraded (since it had to fit on a single-layer disc, which is usually accomplished by slicing out cinematics), and you're either going to have to install a modchip (which means breaking out the soldering iron), or you're going to have to do some tricky software hack, which usually still needs specialized hardware (ever try to get a file onto a PS2 memory card?)
And unless you've got a modchip, chances are, you'll have to do some weird hack every time -- I ran custom software on the PS2 (not Linux, and not for piracy), and activating it required having just the right PS2 memory card ready, loading a PS1 game, and then connecting to it from a Linux PC. At this point, assuming Average Joe makes minimum wage, he's really better off (time/money wise) just buying the damned game.
Or I could pay twice as much for four $400 PCs and four $200 monitors
This assumes your friends don't have PCs of their own.
In fact, if I was to play with someone on a console, I'd still much rather play on my console, and have them on their console -- no screen peeping, more space to see what I'm doing, and they don't even have to physically be here. If your one console cost twice as much altogether as one PC, I think the PC is the win, there.
it seems you were doing just that with mainframes.
You're right, I was. I retract that position.
I do think mainframes are archaic, but they are also proven. I still doubt that there are things they can do that clouds can't, other than, again, the fact that they do it now, and clouds don't.
But there will always be a need to do complex things to huge volumes of private or specialized data that shouldn't be seen by anybody else, so there will always be a place for mainframes, supercomputers, and proprietary, closed networks.
I do still believe that such mainframes and supercomputers may still be replaced by clusters of cheap PCs. Lord of the Rings wasn't rendered on a supercomputer, it was rendered on a cluster.
Sure there are a few specialized proprietary distributed databases written from the ground up - Google, Amazon, EBay, Yahoo, and the like
And a few open ones. Take a look at CouchDB and Hadoop.
but no, dealing with very large databases does not scale well by throwing commodity hardware at it.
Assuming you're talking about, say, SQL databases, there's always sharding. You can even find proxies which will do it for you, without having to touch the app.
I suspect it would be something like a TPM chip, or better support for making sure you're talking to an optical drive (and not Daemontools)...
You know, the kind of thing that most people wouldn't notice, would cause serious headaches for some of us (and potentially lock Linux out -- again)...
And, of course, do absolutely nothing to stop piracy.
The PC isn't a console. That's the fucking point. If I wanted a console, I would have one already -- they're cheap. Probably will get one anyway -- but I'll still play PC games, and there's a reason for that.
But my guess is, that's where they'd love to see us going.
Also, this is coming from id? For shame... One of the reasons I buy id games is I can get relatively DRM-free versions for Linux. (If you stop them from phoning home, they'll still work.)
They don't believe ANYTHING just because someone in authority says it is so.
I wonder how many of them are religious?
I'm glad they're cynical, though -- it (hopefully) makes them harder to take advantage of. Of course, there is a downside...
It is nice to see the newer generations seem to have a lot more wolves and a lot less sheep. Maybe their lack of gullibility will help turn it around when they get old enough to get their own power.
When they get old enough to get their own power, it's going to be interesting -- especially when so many of them grow up without a sense that piracy is wrong, only that it's (sometimes) dangerous.
Before you reply, read my sig. I usually make the opposite argument...
"cloud computing" (which is basically off-site clustering)
It's not very well defined -- in fact, it's horribly defined -- but from what I can tell, it's more than that.
off-site cluster : cloud:: dedicated server : virtual host
This has some powerful implications as far as being dynamically scalable -- more power on demand for a Slashdotting, less power when they leave. Or, for a financial app, more power on payday and tax day, and less power the rest of the time. Or, for an app popular in a particular reason, more power during the day, less at night.
By "more power" and "less power", with regards to, say, EC2, I can fire up more instances as needed, and bring them down when I'm done -- freeing those resources to be claimed by someone else -- and I pay by the hour, only for what I actually use.
the pitfalls not associated with availability such as privacy and data ownership.
That is problematic, yes. I suppose my answer to that is: Given where mainframes are used today, there's probably still some organizations which could build and maintain a cluster, shared for internal projects, which is large enough for that to be a benefit, and which already shares enough data that it's not as much of an issue.
If one of your three PCs goes down, how long will it take the other two to get their act together, back out the mistake, and reply, correctly, to the request the third PC was handling? You don't know, do you?
I haven't actually built it and tested, so no.
By the way, a PC that costs a thousand dollars (monitor included) was designed to be thrown away.
No problem. When it breaks (all hardware eventually does), you swap in a fourth one, and order a spare.
And machines in data centers don't have monitors.
Which is exactly the point. If this is the price of a machine with a monitor (that you don't need), wouldn't it, logically, be somewhat cheaper to get it without the monitor, or to immediately sell the monitor?
This won't cut it when a database that's a few seconds out of date means millions of dollars are unaccounted for.
Which raises two points:
First, it doesn't have to be a single, monolithic "database". Shard it properly, and if one of those shards (somehow) managed to get out of date, you're talking about a lot fewer transactions.
Still unacceptable, and you still engineer it so that doesn't happen. But it's worth mentioning -- this makes the problem quite a lot easier.
There are environments where your combined internal throughput should be in the terabyte-per-second range, maybe because once a year you have to buzz through tens of millions of extraordinarily complex tax returns, apply rule sets with over a century of changes in them, flag suspicious activity, reconcile them against bank and employer data you've been tabulating throughout the year, and generate a check or electronic deposit for most of them.
See above.
Most of what you've described needs to operate on maybe one or two records at a time. Taxes -- lots of complex rules, but the machine calculating this need to know about (maybe) you, your wife, your employer, and your children. It doesn't need to know about a million other people, at least, not at the same time.
The rest don't need to be done once a year, either. Bank and employer data can be verified as you accumulate -- or, if you're comparing sums, you can keep a running total, and compare the end result with the value from the tax return.
In fact, suspicious activity is the kind of thing you'd want to be checking for constantly anyway -- the sooner flagged, the better.
But even assuming you're right, and all of this is run exactly once a year -- what's the mainframe doing the rest of the year? Merely aggregating data?
When they went down for two days last October, how much data did you lose? How much much damage was done to your reputation and revenue stream when they went down for two days in February?
We weren't production last October, or February -- not even under heavy development. So, none at all, but good point.
I think it's still viable, but I think that demonstrates that it's newer, and less understood -- which means that:
If you're one of the 24 million people whose paycheck we handle, would you prefer we did it in the EC2 cloud or with hardware and software we've been using, proving and improving for almost half a century?
I'll concede that point -- but I don't think it will take half a century for things like EC2 to become solid and proven.
I also think that when this happens, banks still won't move to them. I would certainly rather you be exploring the possibilities, as well as building on what you have, than dismissing it out of hand.
Apologies if you aren't dismissing it out of hand -- it seems like you are.
Mainframes (System/i maybe too) also have BCD computational capabilities in hardware, which is still better for financial applications (x86 only has a mode where it transforms BCD into an 80-bit float and then back).
However, if IO is more important than raw processor speed, I would imagine a cluster would give you quite a lot of spare CPU to throw at the problem.
Google didn't count 849 million records in.42 seconds.
Correct.
Has nothing to do with reading records in that amount of time. Has to do with Google giving estimates from its indexing.
That indexing also allows it to return the first few records (hits) needed instantly. The estimate is also instant.
But take any other Google technology -- or Amazon, or eBay, etc. Search your Gmail -- how long does that take? When was the last time you had to wait for such a web service?
My point is not that this was a perfect example (or analogy), but that thinking about the problem differently leads to different solutions. In particular, having to do something with a large number of records is exactly the kind of problem that scales well when you throw machines at it -- what wouldn't scale well, for example, is having to do something incredibly complex to a relatively small number of records.
Are we counting the effort your team put into making these PCs work reliably in parallel,
Not particularly. It took quite an effort to build that mainframe, also, and to write its OS -- so I'm assuming that, by now, there are at least some people who have gotten this right, and could share a framework with you.
and the orders of magnitude more complex a cluster of discrete PC's is?
More complex to manage, or to build?
Again, there's all sorts of circuitry in a mainframe that makes that hot-swapping CPUs possible -- probably some software, too -- so if it's just more complex to build, then that's a somewhat moot point.
Obviously, where there is a single point of failure, you get a backup.
So that's now twice as much -- how much does it cost for the three PCs again?
Even if someday you can just roll a giant PC cluster out the box, fully integrated, with the same features a mainframe provides, I think you'll find that the overall cost differential will not be very high.
It might be interesting to test that theory. Amazon's EC2 has very clear and simple pricing, and competitors like Mosso will sell a cluster to you "batteries included".
So now you're talking about leasing time/resources on someone else's cluster environment, skipping the infrastructure ENTIRELY, so we're left with the "make it do work" part.
Exactly.
Now, I'm not trying to tell you a mainframe is cheaper than just three PC's, even after all is said and done, it'll probably cost more. If you look at the resources a mainframe or large integrated system provides, it would take more than a few PC's to match though.
I may have to take you up on that -- calculate out exactly how many PCs it would take to match.
There are other considerations, too -- when you use a system like EC2, which bills by the hour, you can scale down for off-hours. Some mainframes don't have off-hours, but I'm guessing all of them have some amount of difference in traffic.
Same for spikes -- an EC2 cluster could programmatically boot more machines as needed, and scale it back when the Slashdotting is over. A mainframe will either fall over (for some value of "fall over"; it might simply operate much more slowly, or drop a few requests), or it will have to be built from the beginning to handle that Slashdotting (and thus be very underutilized when not Slashdotted).
Even if all other things were equal, there's the fact that a cluster could be built to be largely provider-agnostic. If all of your mainframes fail (unlikely, but possible), it may take a bit to get back on your feet. If the entire cluster fails, it's only going to take a minute to boot up another (on the same provider) -- and while it hasn't been done yet, if your cluster software is built to handle multiple providers, you could always switch entirely (if all of Amazon decided to fail simultaneously).
So, if the requirements are data integrity and availability, I think the cluster wins, simply because you can (to a much greater extent) throw more machines at either problem.
See, there are times when buying a couple quarts of oil is more appropriate, and times when going to Jiffy Lube are more appropriate;)
There is no one size fits all solution. Not in IT nor in any other endeavor.
Haircuts pretty much use scissors and razors.
Vision correction, until very recently, was pretty much all some shaped, transparent lens placed in front of the eye -- either directly (contact lense) or farther away (glasses).
Music is perhaps a better example -- for the most part, you're going to be amplifying with an amplifier and some speakers. The exceptions are when you need no additional amplification. I'll agree that the "cloud" solutions provide no benefit when a single machine in the proposed "cloud" could do the job -- that is, before you get Slashdotted.
And no, I don't think everything that runs on a mainframe is COBOL. I do, however, think that the main (legitimate) reason for having a mainframe is to run old COBOL code -- or maybe, I suppose, more recent code which wasn't written to scale.
Just for fun:
it burned at temperatures of 800C for more than 18 hours [AFP]... The fire in WTC 1 is reported to have burned at 800C
And how do they know this? Either of those facts?
The building was designed to have a fully loaded 707 crash into it, that was the largest plane at the time.
Yeah -- designed to. Doesn't mean it was a flawless design.
this structure is like the mosquito netting on your screen door - this intense grid - and the plane is just a pencil puncturing that screen netting.
That'd be an interesting experiment -- take that mosquito netting, and use it to build a little square tower. What happens if you throw a pencil at that?
What happens if it's not a pencil, but a welding torch?
Because as it is, the mosquito netting on your screen door is held up by the door frame. What happens if you kick the door frame hard enough?
But assume they're right:
you have to conclude that either a fundamental flaw existed in WTC 1's inner core construction, or a fundamental flaw exists in the official explanation of the building's collapse.
What's wrong with the former?
Look at the evironmental movement for example
I don't know how it actually works, but you could make a lot of the same arguments:
- Certainly, there are blogs, and politically lobbying, if that counts as "church". ...and so on.
- The Internal Combustion Engine is the original sin.
- Ford is the devil.
- Guilt comes from having any environmental footprint at all -- or of not having a significant negative footprint, to make up for everyone else
- Suffering comes in the form of paying extra for organic and otherwise "clean" versions of everything, and walking/biking instead of driving
- Nuclear energy just puts the pollution off a bit -- so they're heretics.
The GNU guys could be the "open source" equivalent of PETA or the guys who burn down new developments.
Except that they don't burn anything down. The worst that they do is sue people for GPL violations -- so they're more the equivalent of an effective EPA.
the core is that Richard Dawkins concept of "Memes" are real and GNU, and probably every other social/religious moment are "viruses" that infect our brains.
Sometimes, there's some sort of antibody, but that's rare.
I wrote about this awhile ago -- still don't have a blog, but maybe every few months, I write something. Read these two, if you're interested.
Even then, it's a heck of a lot more pain to pack a PC, monitor, keyboard, mouse, and speakers than to grab a controller.
True enough, but I think it's worth it for the benefit of having my own screen, my own equipment, and the use of a mouse.
Also: Gaming laptops are practical now. So that means it's the laptop, a power cable, and (if you need one) a mouse.
Then again, a LAN party is something we have maybe once a month, instead of a few times a week. So, as I said, I can see the appeal.
What advantage would screen peeping give in a game like Bomberman or Super Smash Bros. that shows the whole arena on one screen anyway?
I don't know. Are those the only games you play?
Assume that a family already owns a television and a PC.
Only one PC for the entire family?
Alright, you win. I haven't been in a family with less than two computers, at least, in quite awhile.
plus you often have to buy the game discs separately for each PC.
For a family, it makes sense that you want exactly one copy for the entire family.
I was figuring something more like a gathering of adults, since you said "friends" -- in which case, your scenario only makes sense if they don't have their own system or copy of the game.
So linux is not free enough for you?
Linux is free enough. Ubuntu isn't. Try not to get the two confused.
(And read my sig -- I use Ubuntu.)
I read somewhere that they even removed GLX
True enough -- because GLX itself has some restrictive licensing.
which basically represents linux's only sane graphical development. That is just sad.
Yeah, it is kind of sad that Linux's only sane graphical development is so restrictively licensed. I have to wonder if it holds us back at all.
part of what makes linux awesome is the fact that it's generally supported by some important commercial things like adobe flash and nvidia
Were it not for YouTube, I could probably live without Flash. And Firefox is getting support for the video tag, so there's hope for that yet.
And no, "Linux" doesn't have support for YouTube. 32-bit Intel Linux does. Much smaller crowd.
nvidia -- yes, and ATI. And then there's Intel, which actually has much more open drivers.
And I should mention: with some very basic effects turned on in KDE3 (drop shadows, etc), I still find occasionally that opening a Kopete message can crash X. And yes, that's X crashing, not KDE, so I place that pretty much entirely in nVidia's lap.
Linux is awesome in spite of the need for proprietary drivers, not because of them. If there was an open driver that I could use instead, my X wouldn't crash. (Frankly, it's embarrassing. Remember when Linux used to be more reliable than Windows?)
how about mplayer? I am more in the "screw licenses" boat than the "boycott anything without gnu written on it" raft.
I think that does make you a douchebag.
OLPC is the nerd equivalent of a missionary spreading the gospel of Free Software to the heathens in "3rd world countries"
Erm, or it's an educational tool. I happen to think that free software is the best platform for that, but it has its own merits.
Closed source printer drivers are the original sin.
Except that we all supposedly inherit "original sin" -- I really don't see how we, at birth, inherit the sin of closed source printer drivers. Certainly, all the printer drivers I use are open.
While I'm at it...
"Agile Methodology," or "Ruby on Rails"
How are these like a religion?
I can see some parallels of my own, but I want to know how they fit the same pattern -- and, more importantly, give an example of any organized social movement which doesn't fit that pattern.
It won't be long before the Futurama's "Church of Star Wars" comes true.
Happened already. There was some census which showed a not-insignificant number of people wrote in "Jedi" as their religion.
(Replace "Ubuntu" with "Windows" and "gNewSense" with "Linux" for a parallel argument.)
You'd also have to replace "3D acceleration" with something else. After all, this isn't just about convenience; it's not any specific driver so much as GLX itself that makes this impossible.
I suppose you still have Xv, so maybe hardware-accelerated video. Sort of. (What does Xv actually do?)
But lack of GLX was the biggest surprise to me -- it's not just lack of drivers, but the whole GLX architecture.
That, or you've done a really poor job of teaching players about your great game.
Either way, it is, most likely, your own damned fault.
I'd rather have the ability to flesh out the story rather than be frustrated by a bloody insane enemy in a game that stops me from enjoying the story until I go to a few ruins and grind levels.
There are two solutions I like better for that:
One, have difficulty levels. Or cheats. Let you play on easy, the rest of us can enjoy the challenge of an insane boss.
Two, watch a movie. Or a TV series. Or read a book. If all you want is to see a story fleshed out, there's a way to do that without any challenge at all.
As the saying goes: "Damned if you do, damned if you don't."
If you don't point out the mistakes, then you're the one who gets blamed when there is (inevitably) a security breach.
If you do point out the mistakes, you've irritated and embarrassed the user -- and, possibly, forced them into doing something they don't want to.
Which means, assuming you never make a mistake, the only kind of feedback you'll ever get is negative -- that you were annoying, or that you failed -- never positive. (Compare this to, at the very least, a sysadmin -- bring up a new service, and you get to be a hero, at least for awhile. But nobody ever sees an attack that failed.)
Let just one of those characteristics go away and the problem becomes a LOT harder. For example, accounts payable. It is NOT OK to pay twice or not at all.
Taking that example, one easy solution is to make the system idempotent, and to detect errors.
So if, for whatever reason, the transaction fails (which can happen on a traditional database, too), you can just try again (before the check is printed). If you manage to try to enter the same record twice, the system will automatically correct it -- all you need to do is make sure it was successful at least once.
I'd say the requirement is that the job is embarrassingly parallel, and that it needn't be hard realtime. The rest of it can be adjusted -- in fact, Amazon's Dynamo can be tuned (as a config option) for how much integrity/availability is needed.
The issue is that the pc software and hardware architecture is well understood. It is trivial to remove DRM elements from any piece of software.
Have you done so? If not, I wouldn't go calling it trivial. For all I know, it takes quite a lot of work.
Consoles have less issues with piracy because the hardware is a closed system and people must reverse engineer how the system functions in order to emulate or break the system.
Great theory. It's also pathetically wrong.
The reason PCs have a problem with piracy, and consoles don't, is that once the warez group has done the hard work, it's far easier for Average Joe to pirate on a PC. Just go to a torrent site, download the game, follow instructions in the README (usually "install game, then swap our EXE for theirs" or something). And once it's installed, it'll generally keep working, until you uninstall it because you needed the disk space.
Compare this to a console, where, assuming you get the game burned properly (after downloading), it's going to be somewhat degraded (since it had to fit on a single-layer disc, which is usually accomplished by slicing out cinematics), and you're either going to have to install a modchip (which means breaking out the soldering iron), or you're going to have to do some tricky software hack, which usually still needs specialized hardware (ever try to get a file onto a PS2 memory card?)
And unless you've got a modchip, chances are, you'll have to do some weird hack every time -- I ran custom software on the PS2 (not Linux, and not for piracy), and activating it required having just the right PS2 memory card ready, loading a PS1 game, and then connecting to it from a Linux PC. At this point, assuming Average Joe makes minimum wage, he's really better off (time/money wise) just buying the damned game.
Or I could pay twice as much for four $400 PCs and four $200 monitors
This assumes your friends don't have PCs of their own.
In fact, if I was to play with someone on a console, I'd still much rather play on my console, and have them on their console -- no screen peeping, more space to see what I'm doing, and they don't even have to physically be here. If your one console cost twice as much altogether as one PC, I think the PC is the win, there.
I do see the appeal, though.
it seems you were doing just that with mainframes.
You're right, I was. I retract that position.
I do think mainframes are archaic, but they are also proven. I still doubt that there are things they can do that clouds can't, other than, again, the fact that they do it now, and clouds don't.
But there will always be a need to do complex things to huge volumes of private or specialized data that shouldn't be seen by anybody else, so there will always be a place for mainframes, supercomputers, and proprietary, closed networks.
I do still believe that such mainframes and supercomputers may still be replaced by clusters of cheap PCs. Lord of the Rings wasn't rendered on a supercomputer, it was rendered on a cluster.
Power management can be used on mainframes.
To less extent?
Except back then it was called timesharing
Can said timesharing scale to more than one mainframe? How many are there to choose from?
Yes, I realize the concept isn't new.
Sure there are a few specialized proprietary distributed databases written from the ground up - Google, Amazon, EBay, Yahoo, and the like
And a few open ones. Take a look at CouchDB and Hadoop.
but no, dealing with very large databases does not scale well by throwing commodity hardware at it.
Assuming you're talking about, say, SQL databases, there's always sharding. You can even find proxies which will do it for you, without having to touch the app.
I suspect it would be something like a TPM chip, or better support for making sure you're talking to an optical drive (and not Daemontools)...
You know, the kind of thing that most people wouldn't notice, would cause serious headaches for some of us (and potentially lock Linux out -- again)...
And, of course, do absolutely nothing to stop piracy.
The PC isn't a console. That's the fucking point. If I wanted a console, I would have one already -- they're cheap. Probably will get one anyway -- but I'll still play PC games, and there's a reason for that.
But my guess is, that's where they'd love to see us going.
Also, this is coming from id? For shame... One of the reasons I buy id games is I can get relatively DRM-free versions for Linux. (If you stop them from phoning home, they'll still work.)
They don't believe ANYTHING just because someone in authority says it is so.
I wonder how many of them are religious?
I'm glad they're cynical, though -- it (hopefully) makes them harder to take advantage of. Of course, there is a downside...
It is nice to see the newer generations seem to have a lot more wolves and a lot less sheep. Maybe their lack of gullibility will help turn it around when they get old enough to get their own power.
When they get old enough to get their own power, it's going to be interesting -- especially when so many of them grow up without a sense that piracy is wrong, only that it's (sometimes) dangerous.
Before you reply, read my sig. I usually make the opposite argument...
"cloud computing" (which is basically off-site clustering)
It's not very well defined -- in fact, it's horribly defined -- but from what I can tell, it's more than that.
off-site cluster : cloud :: dedicated server : virtual host
This has some powerful implications as far as being dynamically scalable -- more power on demand for a Slashdotting, less power when they leave. Or, for a financial app, more power on payday and tax day, and less power the rest of the time. Or, for an app popular in a particular reason, more power during the day, less at night.
By "more power" and "less power", with regards to, say, EC2, I can fire up more instances as needed, and bring them down when I'm done -- freeing those resources to be claimed by someone else -- and I pay by the hour, only for what I actually use.
the pitfalls not associated with availability such as privacy and data ownership.
That is problematic, yes. I suppose my answer to that is: Given where mainframes are used today, there's probably still some organizations which could build and maintain a cluster, shared for internal projects, which is large enough for that to be a benefit, and which already shares enough data that it's not as much of an issue.
But I'm speculating, so I'll stop.
If one of your three PCs goes down, how long will it take the other two to get their act together, back out the mistake, and reply, correctly, to the request the third PC was handling? You don't know, do you?
I haven't actually built it and tested, so no.
By the way, a PC that costs a thousand dollars (monitor included) was designed to be thrown away.
No problem. When it breaks (all hardware eventually does), you swap in a fourth one, and order a spare.
And machines in data centers don't have monitors.
Which is exactly the point. If this is the price of a machine with a monitor (that you don't need), wouldn't it, logically, be somewhat cheaper to get it without the monitor, or to immediately sell the monitor?
This won't cut it when a database that's a few seconds out of date means millions of dollars are unaccounted for.
Which raises two points:
First, it doesn't have to be a single, monolithic "database". Shard it properly, and if one of those shards (somehow) managed to get out of date, you're talking about a lot fewer transactions.
Still unacceptable, and you still engineer it so that doesn't happen. But it's worth mentioning -- this makes the problem quite a lot easier.
There are environments where your combined internal throughput should be in the terabyte-per-second range, maybe because once a year you have to buzz through tens of millions of extraordinarily complex tax returns, apply rule sets with over a century of changes in them, flag suspicious activity, reconcile them against bank and employer data you've been tabulating throughout the year, and generate a check or electronic deposit for most of them.
See above.
Most of what you've described needs to operate on maybe one or two records at a time. Taxes -- lots of complex rules, but the machine calculating this need to know about (maybe) you, your wife, your employer, and your children. It doesn't need to know about a million other people, at least, not at the same time.
The rest don't need to be done once a year, either. Bank and employer data can be verified as you accumulate -- or, if you're comparing sums, you can keep a running total, and compare the end result with the value from the tax return.
In fact, suspicious activity is the kind of thing you'd want to be checking for constantly anyway -- the sooner flagged, the better.
But even assuming you're right, and all of this is run exactly once a year -- what's the mainframe doing the rest of the year? Merely aggregating data?
When they went down for two days last October, how much data did you lose? How much much damage was done to your reputation and revenue stream when they went down for two days in February?
We weren't production last October, or February -- not even under heavy development. So, none at all, but good point.
I think it's still viable, but I think that demonstrates that it's newer, and less understood -- which means that:
If you're one of the 24 million people whose paycheck we handle, would you prefer we did it in the EC2 cloud or with hardware and software we've been using, proving and improving for almost half a century?
I'll concede that point -- but I don't think it will take half a century for things like EC2 to become solid and proven.
I also think that when this happens, banks still won't move to them. I would certainly rather you be exploring the possibilities, as well as building on what you have, than dismissing it out of hand.
Apologies if you aren't dismissing it out of hand -- it seems like you are.
Mainframes (System/i maybe too) also have BCD computational capabilities in hardware, which is still better for financial applications (x86 only has a mode where it transforms BCD into an 80-bit float and then back).
However, if IO is more important than raw processor speed, I would imagine a cluster would give you quite a lot of spare CPU to throw at the problem.
I've got Web Developer, which tells me whether or not I'm in Quirks Mode -- that helps, somewhat.
Mostly, I don't worry about it. It's not particularly easy to make Haml output invalid code, unless you're trying to do so on purpose.
Google didn't count 849 million records in .42 seconds.
Correct.
Has nothing to do with reading records in that amount of time. Has to do with Google giving estimates from its indexing.
That indexing also allows it to return the first few records (hits) needed instantly. The estimate is also instant.
But take any other Google technology -- or Amazon, or eBay, etc. Search your Gmail -- how long does that take? When was the last time you had to wait for such a web service?
My point is not that this was a perfect example (or analogy), but that thinking about the problem differently leads to different solutions. In particular, having to do something with a large number of records is exactly the kind of problem that scales well when you throw machines at it -- what wouldn't scale well, for example, is having to do something incredibly complex to a relatively small number of records.
Are we counting the effort your team put into making these PCs work reliably in parallel,
Not particularly. It took quite an effort to build that mainframe, also, and to write its OS -- so I'm assuming that, by now, there are at least some people who have gotten this right, and could share a framework with you.
and the orders of magnitude more complex a cluster of discrete PC's is?
More complex to manage, or to build?
Again, there's all sorts of circuitry in a mainframe that makes that hot-swapping CPUs possible -- probably some software, too -- so if it's just more complex to build, then that's a somewhat moot point.
Obviously, where there is a single point of failure, you get a backup.
So that's now twice as much -- how much does it cost for the three PCs again?
Even if someday you can just roll a giant PC cluster out the box, fully integrated, with the same features a mainframe provides, I think you'll find that the overall cost differential will not be very high.
It might be interesting to test that theory. Amazon's EC2 has very clear and simple pricing, and competitors like Mosso will sell a cluster to you "batteries included".
So now you're talking about leasing time/resources on someone else's cluster environment, skipping the infrastructure ENTIRELY, so we're left with the "make it do work" part.
Exactly.
Now, I'm not trying to tell you a mainframe is cheaper than just three PC's, even after all is said and done, it'll probably cost more. If you look at the resources a mainframe or large integrated system provides, it would take more than a few PC's to match though.
I may have to take you up on that -- calculate out exactly how many PCs it would take to match.
There are other considerations, too -- when you use a system like EC2, which bills by the hour, you can scale down for off-hours. Some mainframes don't have off-hours, but I'm guessing all of them have some amount of difference in traffic.
Same for spikes -- an EC2 cluster could programmatically boot more machines as needed, and scale it back when the Slashdotting is over. A mainframe will either fall over (for some value of "fall over"; it might simply operate much more slowly, or drop a few requests), or it will have to be built from the beginning to handle that Slashdotting (and thus be very underutilized when not Slashdotted).
Even if all other things were equal, there's the fact that a cluster could be built to be largely provider-agnostic. If all of your mainframes fail (unlikely, but possible), it may take a bit to get back on your feet. If the entire cluster fails, it's only going to take a minute to boot up another (on the same provider) -- and while it hasn't been done yet, if your cluster software is built to handle multiple providers, you could always switch entirely (if all of Amazon decided to fail simultaneously).
So, if the requirements are data integrity and availability, I think the cluster wins, simply because you can (to a much greater extent) throw more machines at either problem.
See, there are times when buying a couple quarts of oil is more appropriate, and times when going to Jiffy Lube are more appropriate ;)
Is that you, BadAnalogyGuy?
There is no one size fits all solution. Not in IT nor in any other endeavor.
Haircuts pretty much use scissors and razors.
Vision correction, until very recently, was pretty much all some shaped, transparent lens placed in front of the eye -- either directly (contact lense) or farther away (glasses).
Music is perhaps a better example -- for the most part, you're going to be amplifying with an amplifier and some speakers. The exceptions are when you need no additional amplification. I'll agree that the "cloud" solutions provide no benefit when a single machine in the proposed "cloud" could do the job -- that is, before you get Slashdotted.
And no, I don't think everything that runs on a mainframe is COBOL. I do, however, think that the main (legitimate) reason for having a mainframe is to run old COBOL code -- or maybe, I suppose, more recent code which wasn't written to scale.