Agreed. Robinson's RGB Mars rule. One point of interest which I must raise as something of an SF buff, is Charles Sheffield's book The Web Between the Worlds. It's all (um, almost) about space elevator (or "beanstalk" as he prefers to call them) technology, some of its implications, with lots of technical background. And, you gotta love the part where Mr Sheffield "objects" to Robinson's crashing elevator, because it destroys the city where the elevator was anchored to Mars. The name of the city? Sheffield, of course.;^)
A picture should be mandatory, especially after that intro text ("tech editors were already exchanging a flurry of e-mail messages about how cool the device looks")
Price. Sorry, can't seem to find one. Urgh.
Oh, and I must say I don't understand the tech editors at Network Computing much, since I found the box' appearance rather uninspiring. I would very much like to have one at work, though. Debugging flow-control code on localhost is too easy.;^)
Well, you're not 100% correct either, I'm afraid. True, the name of the system is the GSCube, but it's based on the PS2 hardware (i.e., the Graphics Synthesizer, hence the "GS") and not the original PS. I saw it at SIGGRAPH2000, running a simplified version of the Final Fantasy movie in real-time. Very impressive. For more hearsay, stale news pages, and of course lots of comments, see this old/. article.
Wow, that author was kind of angry, wasn't he? Still, without doing any research of my own, and not exactly following the works of either Ximian, Eazel (*cough* I kinda have a different favorite fm, *cough*) or KDE, some serious-sounding issued were raised here... Do developers from competing companies actually fight over important subsystems in the GNOME code base? Scary.
One thing that made it difficult to take seriously though was the (to my eyes) invented "paradox" that the FSF should somehow be aligned with the "information wants to be free" meme. [Ouch, trend alert, I said "meme".] Anyway, in my eyes, the FSF in general, and RMS in particular, are for free software. Not information... I believe there's still a point in making a difference between the two, at least in discussions such as this. I must admit, though, that it's kind of interesting to hear that their financial records are being kept so secret... Suspicious? I don't know.
Avoiding any possible Microsoft-jokes, I think this qualifies... Although I'm not 100% sure it's bigger, documentation-wise. Who knows, your favorite might be implemented as a symlink to this classic?;^)
and gaming sites just go off the deep end about how great the trees look.
Um, yeah. B&W has a good reputation. Now, I haven't actually played it, and I have friends who've been hooked by it, but most of them seem to still admit minor problems. I found FiringSquad'sreview (78%, blam!) refreshing.;^)
Um, actually, a C6 system probably has, um, er, thinking... Six projectors. At least the similar system here in Sweden (the world's first six-walled Cube) does.;^) And the muscle is needed (or at least intended) to run the applications, some of which are very heavy indeed. It's not enough to just drive the display system, you know.
Oh darn. Really? And here I was, convinced enough that 1X AGP was basically 4X PCI. Of course, your corrected numbers only make my original "argument" stronger. Thanks.;^)
There's also the basic reason that almost nothing besides gfx cards -need- the huge bandwidth and bus speed of AGP.
If that were true, then this entire thread, and both Intel's and AMD's replacement bus technologies, would be moot. I don't think they're doing it for fun. Basic (1X) AGP has the same bandwidth as 66 MHz 64-bit PCI, as found in servers and stuff; ~0.5 GBps. Obviously, that isn't enough either. Gigabit Ethernet, for example, is a prime example of something that usually sits on the bus, and that definitely needs more bandwidth (1Gb/8 = ~125 MB, which is very close to PCI's 133 MBps limit). If you want multiple Gb Ethernet boards on the same bus, the bus has to be bigger.
Um, hello? How much of the linked-to site did you actually read? From the root page of that site:
The Holocaust History Project is a free archive of documents, photographs, recordings, and essays regarding the Holocaust, including direct of Holocaust-denial.
So, it's clearly not an example of (neo)Nazi content, but rather a site working against people who try to falsify history. I don't think you can make a case that the Slashdot editor (the sometimes-controversial Jamie) somehow censored himself by chosing this site as an example... It's a weird example, though. Your final sentence doesn't parse over here. Or if it does, it doesn't jive with the rest of your text, and frightens the living sh*t out of me.
Hm. That code looks a bit weird (I haven't tried actually running it, though). The second for loop's body ends with a semicolon, not a comma, and there are no braces to be seen. Still, the following (long) loop is indented. Should it really be? Not that it matters, since this is C and not Python, but if the point is to make it readable... Weird. I just ran it through GNU indent, and it seems to agree. I didn't look at the original (non-cleaned-up) code, either.
Oops. I guess my Ruby really is shady, but at least I spotted it. The name of the message I meant is actually step, notupto. The latter takes only one argument. Substitute as required. Thanks.
Heh. That's pretty neat, and I would definitely agree that Python looks cleaner than Perl. I've never used Python, and not written a great deal of Perl either, so my opinion is just that. However, since someone above mentioned my current favorite pet/hobby/braintease language Ruby, I thought I could at least give a Ruby version of the above example. Here goes:
0.upto(10, 2) { |x| puts x }
I think this is the "native" way to do this in Ruby, although I haven't been toying with it for very long, so I could be wrong. What happens is (roughly) that the message upto is sent to the object 0, with a code block associated with the call. If you're familiar with Smalltalk, this should be natural. The object 0 receives the message (aka "executes the method"), does the requested iteration, and calls the associated code block for each visited number. Pretty neat, huh? The availability of these very Smalltalk-esque code blocks, but coupled with a more familiar (and sane!) syntax is what attracted me to Ruby. Recommended.
Thanks for clearing that up. I got confused by my "responder's" confusion over AGP and USB... However, if I may be just a bit too picky, I think that AGP really is a port and not a bus. There can only be two devices ever using an AGP connection: the host CPU (through the chipset) in one end, and the graphics adapter in the other. You can't add another device to it. The 'P' in AGP is for "port". Still, in everyday use it "feels" quite a lot like PCI, so...
Also, I do think that "original" plain vanilla PCI operates at 32 bits, and 33 MHz for a total bandwidth of ~132 MB/s. There are versions (I don't know their exact names) that use 64 bits and/or 66 MHz, though.
Um, and exactly what is it that makes an AGP graphics card similar to e.g. a WinModem? It's not as if any major part of the "intelligence" required to drive my GeForce256 AGP graphics board is done by my host CPU, right? In fact, it's almost the other way around, considering that the card has on-board hardware for stuff like transform and lighting. I think AGP should be taken off that list.
Um, this is probably "helping the enemy", but anyway: here's a link to Gel3D. I haven't followed Gel's development as closely as perhaps I should, but glancing at their Info page reveals one major difference: it's peer-to-peer, whereas Verse is client/server. The "war" between P2P and C/S network architecture in the distributed graphics/VR community is pretty intense, and I guess there's still no clear cut winner. They both have advantages. P2P offers potentially lower latency and better distribution of course, but C/S has the benefit of being easily understood, administered and also easier to make secure and persistent.
Um, if you're interested in networked applications involving 3D graphics, such as most modern games (including MMORPGS), you might want to check out Verse.
Briefly, Verse is a system (network protocol, client library, and a lightweight server) to make development of such applications easier. It's based on cool tech (such as subdivision surfaces), almost completely free and open (we use GPL, LGPL and BSD licenses), and best of all: not vapor!
Verse has been under development by two full-time developers for over 20 months, so we sure have code. If this sounds interesting, swing by the above SourceForge page and take a look. Thanks.
One classic QA problem with TFTs (which, as far as I know, really aren't LCDs technically) is that there is one transistor per pixel. This means that if manufacturing fails for one of these transistors, you end up with a screen with a dead pixel. Obviously, this problem becomes greater as the screen size, and the number of pixels, increases. I've heard that laptop computers, which also use TFTs for their screens, are sometimes sold with a couple of broken pixels, and that is understood as being a normal and expected part of the deal.
Maybe they just like Java, the language, and don't give a fsck about Sun's visions about Java as a platform? I sure could agree with that, if only the compiler wasn't so darn slow...;^) I couldn't read the interview though, it seems to have been/.ed or something.
Oh darn, I knew I should have looked that one up.;^) Well then, I guess I can add a bullet:
Modern 3D hardware supports 32 bits per pixel (RGBA with 8 bits per channel), at least 24 bits per pixel of Z (depth) buffer, and minimum 8 bits of stencil. These are all handy to have around when creating good-looking graphics (although more than 8 bits per channel would be a Good Thing).
Well, at least the V3 has 32-bit color (right?), so we don't have to go into that particular neck of the woods. Sigh. About your math and the releated issues, I have only two things to add right now:
One-pixel polygons are good. Perhaps not in yesteryear's games, which feature huge flat surfaces, but various forms of higher-order surfaces with curves are definitely the trend today. Pixar render their movies using subdivision surfaces tesselated until each polygon is less than one pixel in the final image. We want that.
Multi-pass rendering is good. Many effects in games are achieved by rendering each pixel more than one time. 3dfx realized this back with the Voodoo2, and added support for multiple textures per pixel. That is good, because it allows you to send a triangle to the hardware once, but get it textured twice. This saves one pass of geometry transform. As soon as an effect requires an additional pass, that reduces your effective polygon throughout quite a lot, of course. So, my point is that even though it might sound excessive based on simple "# of pixels on screen" arguments, huge polygon and pixel fillrates are good, because they allow more passes and thereby more flexibility and coolness in effects.
I don't think quality issues can be compared straight across between audio and video. Or, rather, I'm not good enough with audio to see where seemingly superfluous performance (oxymoron?) can be put to use.
Um, that's oversimplifying stuff, really. The original configuration of the Amiga 500 (let's just ignore the 1000 for now) had 512 KB of chip RAM. You could extend that, through the spooky trap-door slot, with another 512 KB of memory. That memory, however, was not true fast RAM, although it got reported by the system as such. In fact, the correct term for that second half meg is "slow RAM", because it wasn't quite as fast as the real thing. Confused yet? Then, of course, if you lucked out and got the A590 box-on-the-side hard drive, you could populate it with up to 2 MB of real fast RAM (in the form of 16 128 KB DILs, of course). There, I think that's more correct.
Interesting point. I'm not sure whether I agree about readability or not, but just wanted to add a bit of trivia: in the empire's premiere Word processor, there's actually an option to get a white-on-blue color scheme. That was put there, way back when, at the request of a certain Jerry Pournelle (of Byte fame, among lots of other things). If I remember correctly, Jerry required this to switch, because that was the color scheme of the word processor he was used to. Can't remember the name of that (probably ancient) program, though... OK, that's all from the meaningless-trivia dept, go back to whatever.;^)
Agreed. Robinson's RGB Mars rule. One point of interest which I must raise as something of an SF buff, is Charles Sheffield's book The Web Between the Worlds. It's all (um, almost) about space elevator (or "beanstalk" as he prefers to call them) technology, some of its implications, with lots of technical background. And, you gotta love the part where Mr Sheffield "objects" to Robinson's crashing elevator, because it destroys the city where the elevator was anchored to Mars. The name of the city? Sheffield, of course. ;^)
- A picture should be mandatory, especially after that intro text ("tech editors were already exchanging a flurry of e-mail messages about how cool the device looks")
- Price. Sorry, can't seem to find one. Urgh.
Oh, and I must say I don't understand the tech editors at Network Computing much, since I found the box' appearance rather uninspiring. I would very much like to have one at work, though. Debugging flow-control code on localhost is too easy.Well, you're not 100% correct either, I'm afraid. True, the name of the system is the GSCube, but it's based on the PS2 hardware (i.e., the Graphics Synthesizer, hence the "GS") and not the original PS. I saw it at SIGGRAPH2000, running a simplified version of the Final Fantasy movie in real-time. Very impressive. For more hearsay, stale news pages, and of course lots of comments, see this old /. article.
Wow, that author was kind of angry, wasn't he? Still, without doing any research of my own, and not exactly following the works of either Ximian, Eazel (*cough* I kinda have a different favorite fm, *cough*) or KDE, some serious-sounding issued were raised here... Do developers from competing companies actually fight over important subsystems in the GNOME code base? Scary.
One thing that made it difficult to take seriously though was the (to my eyes) invented "paradox" that the FSF should somehow be aligned with the "information wants to be free" meme. [Ouch, trend alert, I said "meme".] Anyway, in my eyes, the FSF in general, and RMS in particular, are for free software. Not information... I believe there's still a point in making a difference between the two, at least in discussions such as this. I must admit, though, that it's kind of interesting to hear that their financial records are being kept so secret... Suspicious? I don't know.
Yeah, actually (hold on) it's "Impossible Mission". A great game, but darn was it hard. I never got far. :(
Avoiding any possible Microsoft-jokes, I think this qualifies... Although I'm not 100% sure it's bigger, documentation-wise. Who knows, your favorite might be implemented as a symlink to this classic? ;^)
and gaming sites just go off the deep end about how great the trees look. ;^)
Um, yeah. B&W has a good reputation. Now, I haven't actually played it, and I have friends who've been hooked by it, but most of them seem to still admit minor problems. I found FiringSquad's review (78%, blam!) refreshing.
Um, actually, a C6 system probably has, um, er, thinking... Six projectors. At least the similar system here in Sweden (the world's first six-walled Cube) does. ;^) And the muscle is needed (or at least intended) to run the applications, some of which are very heavy indeed. It's not enough to just drive the display system, you know.
Oh darn. Really? And here I was, convinced enough that 1X AGP was basically 4X PCI. Of course, your corrected numbers only make my original "argument" stronger. Thanks. ;^)
There's also the basic reason that almost nothing besides gfx cards -need- the huge bandwidth and bus speed of AGP.
If that were true, then this entire thread, and both Intel's and AMD's replacement bus technologies, would be moot. I don't think they're doing it for fun. Basic (1X) AGP has the same bandwidth as 66 MHz 64-bit PCI, as found in servers and stuff; ~0.5 GBps. Obviously, that isn't enough either. Gigabit Ethernet, for example, is a prime example of something that usually sits on the bus, and that definitely needs more bandwidth (1Gb/8 = ~125 MB, which is very close to PCI's 133 MBps limit). If you want multiple Gb Ethernet boards on the same bus, the bus has to be bigger.
Hm. That code looks a bit weird (I haven't tried actually running it, though). The second for loop's body ends with a semicolon, not a comma, and there are no braces to be seen. Still, the following (long) loop is indented. Should it really be? Not that it matters, since this is C and not Python, but if the point is to make it readable... Weird. I just ran it through GNU indent, and it seems to agree. I didn't look at the original (non-cleaned-up) code, either.
Oops. I guess my Ruby really is shady, but at least I spotted it. The name of the message I meant is actually step, not upto. The latter takes only one argument. Substitute as required. Thanks.
Heh. That's pretty neat, and I would definitely agree that Python looks cleaner than Perl. I've never used Python, and not written a great deal of Perl either, so my opinion is just that. However, since someone above mentioned my current favorite pet/hobby/braintease language Ruby, I thought I could at least give a Ruby version of the above example. Here goes:
0.upto(10, 2) { |x| puts x }
I think this is the "native" way to do this in Ruby, although I haven't been toying with it for very long, so I could be wrong. What happens is (roughly) that the message upto is sent to the object 0, with a code block associated with the call. If you're familiar with Smalltalk, this should be natural. The object 0 receives the message (aka "executes the method"), does the requested iteration, and calls the associated code block for each visited number. Pretty neat, huh? The availability of these very Smalltalk-esque code blocks, but coupled with a more familiar (and sane!) syntax is what attracted me to Ruby. Recommended.
Thanks for clearing that up. I got confused by my "responder's" confusion over AGP and USB... However, if I may be just a bit too picky, I think that AGP really is a port and not a bus. There can only be two devices ever using an AGP connection: the host CPU (through the chipset) in one end, and the graphics adapter in the other. You can't add another device to it. The 'P' in AGP is for "port". Still, in everyday use it "feels" quite a lot like PCI, so...
Also, I do think that "original" plain vanilla PCI operates at 32 bits, and 33 MHz for a total bandwidth of ~132 MB/s. There are versions (I don't know their exact names) that use 64 bits and/or 66 MHz, though.Um, and exactly what is it that makes an AGP graphics card similar to e.g. a WinModem? It's not as if any major part of the "intelligence" required to drive my GeForce256 AGP graphics board is done by my host CPU, right? In fact, it's almost the other way around, considering that the card has on-board hardware for stuff like transform and lighting. I think AGP should be taken off that list.
Um, this is probably "helping the enemy", but anyway: here's a link to Gel3D. I haven't followed Gel's development as closely as perhaps I should, but glancing at their Info page reveals one major difference: it's peer-to-peer, whereas Verse is client/server. The "war" between P2P and C/S network architecture in the distributed graphics/VR community is pretty intense, and I guess there's still no clear cut winner. They both have advantages. P2P offers potentially lower latency and better distribution of course, but C/S has the benefit of being easily understood, administered and also easier to make secure and persistent.
Um, if you're interested in networked applications involving 3D graphics, such as most modern games (including MMORPGS), you might want to check out Verse.
Briefly, Verse is a system (network protocol, client library, and a lightweight server) to make development of such applications easier. It's based on cool tech (such as subdivision surfaces), almost completely free and open (we use GPL, LGPL and BSD licenses), and best of all: not vapor!
Verse has been under development by two full-time developers for over 20 months, so we sure have code. If this sounds interesting, swing by the above SourceForge page and take a look. Thanks.One classic QA problem with TFTs (which, as far as I know, really aren't LCDs technically) is that there is one transistor per pixel. This means that if manufacturing fails for one of these transistors, you end up with a screen with a dead pixel. Obviously, this problem becomes greater as the screen size, and the number of pixels, increases. I've heard that laptop computers, which also use TFTs for their screens, are sometimes sold with a couple of broken pixels, and that is understood as being a normal and expected part of the deal.
Maybe they just like Java, the language, and don't give a fsck about Sun's visions about Java as a platform? I sure could agree with that, if only the compiler wasn't so darn slow... ;^) I couldn't read the interview though, it seems to have been /.ed or something.
- Modern 3D hardware supports 32 bits per pixel (RGBA with 8 bits per channel), at least 24 bits per pixel of Z (depth) buffer, and minimum 8 bits of stencil. These are all handy to have around when creating good-looking graphics (although more than 8 bits per channel would be a Good Thing).
Thanks for the heads-up.- One-pixel polygons are good. Perhaps not in yesteryear's games, which feature huge flat surfaces, but various forms of higher-order surfaces with curves are definitely the trend today. Pixar render their movies using subdivision surfaces tesselated until each polygon is less than one pixel in the final image. We want that.
- Multi-pass rendering is good. Many effects in games are achieved by rendering each pixel more than one time. 3dfx realized this back with the Voodoo2, and added support for multiple textures per pixel. That is good, because it allows you to send a triangle to the hardware once, but get it textured twice. This saves one pass of geometry transform. As soon as an effect requires an additional pass, that reduces your effective polygon throughout quite a lot, of course. So, my point is that even though it might sound excessive based on simple "# of pixels on screen" arguments, huge polygon and pixel fillrates are good, because they allow more passes and thereby more flexibility and coolness in effects.
I don't think quality issues can be compared straight across between audio and video. Or, rather, I'm not good enough with audio to see where seemingly superfluous performance (oxymoron?) can be put to use.Um, that's oversimplifying stuff, really. The original configuration of the Amiga 500 (let's just ignore the 1000 for now) had 512 KB of chip RAM. You could extend that, through the spooky trap-door slot, with another 512 KB of memory. That memory, however, was not true fast RAM, although it got reported by the system as such. In fact, the correct term for that second half meg is "slow RAM", because it wasn't quite as fast as the real thing. Confused yet? Then, of course, if you lucked out and got the A590 box-on-the-side hard drive, you could populate it with up to 2 MB of real fast RAM (in the form of 16 128 KB DILs, of course). There, I think that's more correct.
Yeah, it's called fsn, and it lives here. Note: only works with IRIX versions 5.3 and below.
Interesting point. I'm not sure whether I agree about readability or not, but just wanted to add a bit of trivia: in the empire's premiere Word processor, there's actually an option to get a white-on-blue color scheme. That was put there, way back when, at the request of a certain Jerry Pournelle (of Byte fame, among lots of other things). If I remember correctly, Jerry required this to switch, because that was the color scheme of the word processor he was used to. Can't remember the name of that (probably ancient) program, though... OK, that's all from the meaningless-trivia dept, go back to whatever. ;^)