That's just the opposite of what I was going to go for. I was thinking that "you detect lies," in the sense of the population not believing the propaganda given out by the government. Now, the government will detect lies, but it seems like not the other way around in this day and age.:(
If I could get office-appropriate wrinkle resistant shirts A-F, and pants 1-3, and consult a simple n-dimensional style-matching matrix on the website, I might finally get to talk to a girl. Dream on, brother
What, are you saying that women aren't attracted to men who go to websites to consult n dimensional matrices every morning?! Well, that explains my social life...
I think you have something there. Between reverse engineering embedded devices, and studying obscure languages, I just don't feel much reason to try and study fashion. If somebody sold a simple low-maintenance fasion line with a guide to how to mix and match the pieces, and a simple explanation of what was appropriate at which location, I would buy in. I do my best with fashion, but I'm told that my best isn't anything to brag about.
If I could get office-appropriate wrinkle resistant shirts A-F, and pants 1-3, and consult a simple n-dimensional style-matching matrix on the website, I might finally get to talk to a girl.
and, the website should have an easy to query API for style-match checking.
Except that by supporting the second hard market, you encourage others to buy first hand, because they will be able to get a more significant amount of cash when they move the product to the second hand market. You reduce the net cost of others to buy RIAA supported CD's. I haven't bought an RIAA CD in several years, now. I've bought a few local indie CD's.
Either choose that pop-music is really important to you, or choose that it is wrong to support the RIAA. Trying to justify yourself by buying second hand is really just a way to make somebody else get their hands dirty on your behalf.
I'm not trying to be a jerk, and I'm not saying you are a bad person. If you really do derive a lot of satisfaction from major commercial music, then that's your choice. I'm just saying that it doesn't make a lot of sense to try and convince yourself that you are really doing a good thing, just because you are only acting as an accessory to something which some consider bad.
How is that sad? The pilot was from 1993, so they probably started on it in like 1992. That's 13 years ago. Thirteen years before B-5 was 1979. We went from the Atari 2600 to the SNES in that length of time. The level of visual detail in F-Zero certainly wouldn't have been doable in real time on any sort of consumer hardware in 1979.
If anybody still has the original models, it would actually be quite easy to incorporate them into a game engine. They were made on Amigas using an early version of Lightwave. Not only does Lightwave still exist, so it could open the old files without much trouble, but the file format is extremely well documented. I used.LWO's in my last interactive animation project. Have somebody write some glsl or equivalent for any procedural textures used on the models, and you are should be able to have a great time.
And, really, most of the CGI wasn't that impressive even in the mid 90's. What was cool was that they managed to do it every week for a TV show. It also allowed them to have fighters, while Star Trek relied on large ships. With model shots, it's hard to have many ships on screen. With CGI, it's pretty easy to have a squadron of fighters flying in formation, etc.
Yeah, I was aware of function pointers before reading the book. I'd just never used them in quite the way the book does it. The book also gets into all sorts of other stuff, dealing with alignment on different platforms, things like that which I didn't bother to get into.
Everything that's don e in the book is perfectly understandable to somebody who knows C, but it's not something I usually see done in that way, all together. I've written plenty of software that works on MacOS/Linux/Windows/PPC/x86/SPARC/IRIX... I'd just never done it as well as the ways presented in the book. If you happen to notice it in a book store, it's quite interesting tof lip through, IMHO.
A lot of people are writing responses that tend to assume it is impossible to write code that is portable, and also optimised for a specific platform. I recently read a book called "Vector Game Math Processors" (everybody needs a hobby, right?). Looking at how the examples were coded in that book sort of shifted my assumptions about how I should do things.
Basically, the book covers the major vector instruction sets: Altivec, PS2, SSE, etc. Naturally, a program written with hand optimised SSE assembly won't run very well on a PowerMac G4. So, the approach the author used was to start by coding a vector math function in plain C. He only calls this function by a function pointer. So, instead of calling sw_vector_foo directly, he calls vector_foo. He then goes on to write altivec_foo, and sse_foo, and gamecube_foo. With some simple #ifdefs at compile time, the function pointer is assigned to the most optimal code path for the platform.
So, the result is that by thinking about portability going in, he doesn't have to do hardly any work to have fairly optimal hand-tuned vector routines for a new architecture.
In general, code written to be portable is also much cleaner, and better commented, and whatnot, just because the author was forced tos pend an extra few minutes thinking about how things ought to be put together. I really can't think of any normal case where portability shouldn't be a consideration. On some obscure embedded systems, you might really want to optimise to a super specific piece of hardware, but it is seldom worth it.
Think about writing GUI apps for a Palm pilot before the switch to ARM CPU's. A programmer could have said, "hey, I'm using the Palm OS API's, and they only run on Coldfire CPU's, so I have no reason to make anything portable." Then, a little while later, Palms OS starts running on ARM. If he had invested a smidgen of extra effort to write his code in a portable way, he could easily start to take advantage of the ARM stuff right away. Since most of the issues of portability are in the planning phase, and get handled at compile time, the difference in memory footprint need not be appreciably larger. (Like a bunch of hand coded ASM for a different platform, which get's #ifdef'd away, or sizeof() operators...)
With this as DRM'd as it apparently is, can you even listen to these podcasts on your iPod? That would sort of be important to a lot of people. Podcasts often make a good substitute for radio while you are out and about. You can catch up on the world of romanian pink dog wrestling while you do your grocery shopping, with any normal MP3 player. If you have to actually sit in front of your computer, you naturally have access to other forms of entertainment, so This Week In Romanian Pink Dog Wrestling (With Yanoush and Steve) suddenly seems less compelling.
Well, you don't write site:asstr.org filthy drugged school girl nipple-clamps into the search field unless there is *something* on your mind. That said, when did we start prosecuting thought crimes?
Hey, since you aren't a native English speaker, I figure I'd point out something about your post. "Milliard" is extremely rare in English, and is never used in American dialect. billion is the more common term. I actually had to look up milliard to see what it meant.
Not trying to be a bother, just trying to be helpful. I'm sure if you saw me try to write in French, you'd point out my errors, too. At least, you'd point out the first few dozen errors, and then give up by the time you got to the second sentence.:)
Well, the sad thing is, there probably are a few. But, I must have stated my point poorly - the explanation is targeted at the people who already know, so that they can be led to believe they are smarter than the imaginary group of people that would need the explanation.
Those are the people who are also stupid enough to get caught by stupid marketing bullshit like that - whenever they hear about XB360, they feel smart, so they develop a slight positive association with the console. Believe it or not, there are some people who will actually be swayed into a purchase decision based on things like that. Think of stupid little old grandmas trying to buy little johnny the right present. Half senile ones. Maybe more than half.
In theory, that doesn't matter. You could just make an extensible fat-binary format. The Xbox would boot the binaries that were tagged as being "XBOX" and ignore any other binaries. Likewise, the 360 could load the binaries tagged as "X360" or whatever.
I just can't imagine why they would bother. The devs for the OP's games wouldn't have bothered to make the games also available in a format for a console that didn't exist when the games were released, at no extra charge. It would have been a huge amount of bother, for no real obvious gain. They will eventually release a new 360 version of their games, and as far as they are concerned, backwards compatibility is MSFT's problem. All it means to them is that people have slightly less reason to buy the new Battlefront 360, or whatever.
"Explanations" like that are usually there to make stupid people feel smart. The really dumb ones all think that they are smarter than every body else, so while that's pretty much all they remember about geometry, they will think that they are some sort of elite literati because they understood it.
A clone NES would only get you the ability to play old carts. At this point, very few people would bother to buy a cloNES, and also buy a bunch of used carts to play. Thus, the impact on selling downloads of the old games should be negligible. Most of the people who already have a collection of NES games already have an NES, or could get one used fairly easily.
On the subject, it could do with some means of forgery protection (things like an embedded image in the window have been suggested) so that you can better trust it's an authentic authentication dialog. If your paranoid.
I've thought about things like this. A special image, of a window with a special colored frame. Unfortunately, it would be pretty easy for a malicious program to take a screenshot, and make it look like a legit authentication screen when it is actually just harvesting the password to use for all sorts of other badness.
But, then I saw the ripple effect used for widget placement in Dashboard. What if whenever you needed to authenticate, you were instructed to go to the Dashboard, and there was a special authentication widget with a special animated pixel shader flames effect as a border, that no other widget can use as a border.
Something like this would seem to be almost impossible to spoof. Because widgets are run in a sort of visual-sandbox, the potentially malicious app wouldn't be able to directly present a really convincing fake to somebody who is paying attention, if it was done right. (Widgets, naturally, should not be able to draw anything outide their given area, the system would force the auth-widget to appear with a fiery border because it has root permissions.)
And, since every other widget is associated with a watery rippling effect, a fire-widget would reinforce a subconsious sense of danger whenever you interact with it. To even the most clueless user, it would be clear that they were doing something special. Sure, it would be an extra mouse-click / button-press, but given how rarely the user needs to authenticate, I would consider it a minor annoyance. It would also act as a really flashy, easy to demo way to show people how windows isn't as secure.
So, where do I get a PPC440 board/box that is at least as cheap as an AMD equivalent, with TV-output and firewire?
I'm not being flippant, I'm just completely unfamiliar with the embedded PPC stuff, so I'm not sure what's available, what it costs, or where I can get it in single unit quantities. If I can get ahold of something like that for less than the cost of a Mac Mini, it'll be my media center PC/home intranet server in a heartbeat. I'm looking for something with enough oomph to play SD video froma hard drive, and low enough power consumption that I can leave it on 24/7, so I never need to sit through a boot process in order to watch a TV show.
Most of the software I'd be looking to run on it is open-source, so while I've mainly been looking for x86 systems, I really would be fine running on any architecture supported by Linux or a BSD.:)
Indeed. I'm a reasonably technical person, but I recently had to deal with trying to get bit torrent to work with multiple subnets behind a NAT/DSL modem. I was pulling my hair out. I can deal with single subnet NAT for most things, but it just isn't a good solution in general.
What if there was a geoIP lookup, and the network credited the nearest affiliate in some way? Network is happy because they can distribute in upper lower bulgoslovia without bother to sell to a local affiliate in every single country. Existing local affiliates are happy because all the downloads earn them something.
The problem isn't what the Theory of Evolution is, it's what Intelligent Design isn't. It isn't science. The one fundamental assumption of science is that the universe is consistent and guided by a set of rules. This has yet to be proven false. Even though some parts of quantum physics are pushing it.
On a similar note, a slightly different explanations of science is that it explains the world around us as best it can, using only what we can see.
ID requires something we can't see. It isn't science. It may be right. Science just can't address things we can't observe. Whether we were programmed into a great computer, created by bored aliens, or zapped into being by god, unless there is conclusive evidence, science has to ignore all those suggestions. If science resorts to explaining phenomena with an unobservable explanation, then all of science would go out the window, because everything could actually be secretly controlled by fairies and invisible alien robots, and gods.
Which planetarium, and what time? Is it the Fiske planetarium in Boulder? Will you be doing the same talk tomorrow?
According to the Fiske website, they are doing a thing on science fiction ttonight, so I assume that is what you are referring to. They also say they are doing the same show tomorrow, but I'm not sure if it will have the same speakers, or just cover similar topics. I can't make it tonight, but I will plan on being there for tomorrow's event. In the discussion of side-stepping relativity, will you be talking about stuff like Alcubierre's space warping ideas?
The original post never mentioned ASICs that I saw.
Ummm... Okay, here is a quote from the original post again... by LWATCDR:
I have seen a combo FPGA/PPC chip for embedded applications. The issue I see with this is how long would it be useful? FPGAs are slower then ASICs.
And then a quote from tomstdenis:
FPGAs aren't always slower than what you can do in silicon.
tom then goes on to talk about PPC versus FPGA's, as if LWATCDR weren't talking about ASICs. Since this conversation now ivolves so many people, I hope I've quoted clearly enough. Anyhow, the explanation that an FPGA can be faster than a general purpose CPU was correct, but a complete non-sequitor from LWATCDR's point that ASICs are faster than FPGA.
I do agree that the basic question of general-purpose CPU vs. other is relevant to the article. I couldn't quite bring myself to claim he was off-topic, just non-sequitor. Now, to get to something interesting you said, rather than just picking nits about who said what... photon37:
The idea of sticking one or more FPGAs into a machine via an I/O bus certainly has merit. I think the main issue is that we don't have compiler toolchains, libraries, and kernels ready to take advantage of it in an intelligent way. The biggest problem is that the FPGA computations need to be able to fallback to the general purpose CPU, which has an entirely different instruction set. A method that might be used, for example, would be to wrap things up such that in the application source code you have two functions with identical call signatures and supposedly identical behavior - one is for the cpu, the other is for fpga offloading. Then the runtime linker and the kernel can work magic together and schedule applications any time they need on the FPGAs and dynamically cause an application to fallback to its cpu code as well.
I like the basic idea, but I'm not so sure how well dynamically sharing a function between an FPGA and a CPU would work in practice. In theory, it would be like a thread migrating from one normal CPU to another.
Since FPGAs have significant latency when they are reconfigured, I have to think that you wouldn't really want the kernel to be dynamically deciding which app gets FPGA time, and which gets CPU time. I think a better interface would be that the programmer has to manually write an optimisation for an FPGA. This eliminates the need to have automatically generated matching functions in hardware and software. The programmer can decide that the specific functions X, Y, and Z should be able to run on an FPGA if it is available. Whether the FPGA programming code comes from a C compiler or from hand coded FPGA specific stuff doesn't matter. There should be some standard interchange format for the FPGA data. gcc should be able to take some C code an output FPGA intermediate programming data from it.
Then, at run time, an app can do something like: register_fpga(num_gates_needed, programming_data, function_name);
with a matching "unregister_fpga(function_name)"
These two functions would act sort of like a malloc and free for the FPGA, so the kernel could choose to assign any given function to any of the 0 or more FPGA's in the system. Many applications could each allocate chunks of the FPGA(s). The application itself just needs to call the function by a function pointer, so it can use the hardware or software version by swapping the value of the pointer. (Just like we do now with code bases that have optimised versions of functions for various SIMD variants)
calc_foo = soft_calc_foo;// or calc_foo = fpga_calc_foo, or sse_calc_foo, or altivec_calc_foo
With each app only registering the functions that it knows will most benefit from optimisation, there will be more room on the FPGA hardware for other apps...
Ummm... Comparing a general purpose CPU to an FPGA is a bit odd. The grand-parent post was talking about ASIC's vs. FPGA's. An ASIC can impliment exactly the same structure as an FPGA, so it can work just as efficiently, but an ASIC can be made to clock higher than an FPGA. Somebody mod the parent post "non-sequitor."
I disagree with you about not making it open source. If it becomes popular, nVidia and ATi will try to optimise for it, regardless of what it is. Closing the source won't help with that. Closing the source would just make me less inclined to trust the benchmarks, because I don't have any way of knowing what it is really doing, or how I should expect it to sompare to my own apps.
Besides, most of the graphics code for benchmarking should be fairly optimal anyway. You don't need to turn on a bunch of extra stuff to make your screenshots prettier. You just need to stuff polygons into the hardware, and see how long it takes.
That said, I really would like to see a sort of SPECshader which compares glsl shading performance for cards. Unlike CPU and general GFX benchmarks, I'm much less ure how that should work, or what I want from it. It would be very difficult to make a fair benchmark, and more plausible to be effected by driver optimisations. (ATI can't control the code generation that made your executable for the benchmark, but the driver gets glsl source to compile on its own, and has pretty much got free reign with it!)
Scientists do indeed want control of the minds of the students - in the science classroom. If students are taught creationism in church or a religious studies class, well most scientists are fine with that.
Indeed. I think it is most telling that science is accused of attacking religeon, but the scientists involved in the issue have never tried to sue a church to demand a disclaimer in Sunday School that they are being taught without evidence. The people who demand they want "balanced" education seem to believe that they and their beliefs are being attacked. This irrational fear should be, in itself, enough to dismiss their ideas. I only wish that they, themselves, could be so easily dismissed.
Well, the bandwidth to one hard drive is, IMHO, irrelevant, even in 2010, or whenever it would become a reality. A few hundred high end PC's in that time frame on a smal-ish corporate network could handle it. Especially for streaming media, like video conferences, etc.
That's just the opposite of what I was going to go for. I was thinking that "you detect lies," in the sense of the population not believing the propaganda given out by the government. Now, the government will detect lies, but it seems like not the other way around in this day and age. :(
What, are you saying that women aren't attracted to men who go to websites to consult n dimensional matrices every morning?! Well, that explains my social life...
I think you have something there. Between reverse engineering embedded devices, and studying obscure languages, I just don't feel much reason to try and study fashion. If somebody sold a simple low-maintenance fasion line with a guide to how to mix and match the pieces, and a simple explanation of what was appropriate at which location, I would buy in. I do my best with fashion, but I'm told that my best isn't anything to brag about.
If I could get office-appropriate wrinkle resistant shirts A-F, and pants 1-3, and consult a simple n-dimensional style-matching matrix on the website, I might finally get to talk to a girl.
and, the website should have an easy to query API for style-match checking.
Except that by supporting the second hard market, you encourage others to buy first hand, because they will be able to get a more significant amount of cash when they move the product to the second hand market. You reduce the net cost of others to buy RIAA supported CD's. I haven't bought an RIAA CD in several years, now. I've bought a few local indie CD's.
Either choose that pop-music is really important to you, or choose that it is wrong to support the RIAA. Trying to justify yourself by buying second hand is really just a way to make somebody else get their hands dirty on your behalf.
I'm not trying to be a jerk, and I'm not saying you are a bad person. If you really do derive a lot of satisfaction from major commercial music, then that's your choice. I'm just saying that it doesn't make a lot of sense to try and convince yourself that you are really doing a good thing, just because you are only acting as an accessory to something which some consider bad.
How is that sad? The pilot was from 1993, so they probably started on it in like 1992. That's 13 years ago. Thirteen years before B-5 was 1979. We went from the Atari 2600 to the SNES in that length of time. The level of visual detail in F-Zero certainly wouldn't have been doable in real time on any sort of consumer hardware in 1979.
.LWO's in my last interactive animation project. Have somebody write some glsl or equivalent for any procedural textures used on the models, and you are should be able to have a great time.
If anybody still has the original models, it would actually be quite easy to incorporate them into a game engine. They were made on Amigas using an early version of Lightwave. Not only does Lightwave still exist, so it could open the old files without much trouble, but the file format is extremely well documented. I used
And, really, most of the CGI wasn't that impressive even in the mid 90's. What was cool was that they managed to do it every week for a TV show. It also allowed them to have fighters, while Star Trek relied on large ships. With model shots, it's hard to have many ships on screen. With CGI, it's pretty easy to have a squadron of fighters flying in formation, etc.
Yeah, I was aware of function pointers before reading the book. I'd just never used them in quite the way the book does it. The book also gets into all sorts of other stuff, dealing with alignment on different platforms, things like that which I didn't bother to get into.
Everything that's don e in the book is perfectly understandable to somebody who knows C, but it's not something I usually see done in that way, all together. I've written plenty of software that works on MacOS/Linux/Windows/PPC/x86/SPARC/IRIX... I'd just never done it as well as the ways presented in the book. If you happen to notice it in a book store, it's quite interesting tof lip through, IMHO.
A lot of people are writing responses that tend to assume it is impossible to write code that is portable, and also optimised for a specific platform. I recently read a book called "Vector Game Math Processors" (everybody needs a hobby, right?). Looking at how the examples were coded in that book sort of shifted my assumptions about how I should do things.
Basically, the book covers the major vector instruction sets: Altivec, PS2, SSE, etc. Naturally, a program written with hand optimised SSE assembly won't run very well on a PowerMac G4. So, the approach the author used was to start by coding a vector math function in plain C. He only calls this function by a function pointer. So, instead of calling sw_vector_foo directly, he calls vector_foo. He then goes on to write altivec_foo, and sse_foo, and gamecube_foo. With some simple #ifdefs at compile time, the function pointer is assigned to the most optimal code path for the platform.
So, the result is that by thinking about portability going in, he doesn't have to do hardly any work to have fairly optimal hand-tuned vector routines for a new architecture.
In general, code written to be portable is also much cleaner, and better commented, and whatnot, just because the author was forced tos pend an extra few minutes thinking about how things ought to be put together. I really can't think of any normal case where portability shouldn't be a consideration. On some obscure embedded systems, you might really want to optimise to a super specific piece of hardware, but it is seldom worth it.
Think about writing GUI apps for a Palm pilot before the switch to ARM CPU's. A programmer could have said, "hey, I'm using the Palm OS API's, and they only run on Coldfire CPU's, so I have no reason to make anything portable." Then, a little while later, Palms OS starts running on ARM. If he had invested a smidgen of extra effort to write his code in a portable way, he could easily start to take advantage of the ARM stuff right away. Since most of the issues of portability are in the planning phase, and get handled at compile time, the difference in memory footprint need not be appreciably larger. (Like a bunch of hand coded ASM for a different platform, which get's #ifdef'd away, or sizeof() operators...)
With this as DRM'd as it apparently is, can you even listen to these podcasts on your iPod? That would sort of be important to a lot of people. Podcasts often make a good substitute for radio while you are out and about. You can catch up on the world of romanian pink dog wrestling while you do your grocery shopping, with any normal MP3 player. If you have to actually sit in front of your computer, you naturally have access to other forms of entertainment, so This Week In Romanian Pink Dog Wrestling (With Yanoush and Steve) suddenly seems less compelling.
Well, you don't write
site:asstr.org filthy drugged school girl nipple-clamps
into the search field unless there is *something* on your mind. That said, when did we start prosecuting thought crimes?
Hey, since you aren't a native English speaker, I figure I'd point out something about your post. "Milliard" is extremely rare in English, and is never used in American dialect. billion is the more common term. I actually had to look up milliard to see what it meant.
:)
Not trying to be a bother, just trying to be helpful. I'm sure if you saw me try to write in French, you'd point out my errors, too. At least, you'd point out the first few dozen errors, and then give up by the time you got to the second sentence.
Well, the sad thing is, there probably are a few. But, I must have stated my point poorly - the explanation is targeted at the people who already know, so that they can be led to believe they are smarter than the imaginary group of people that would need the explanation.
Those are the people who are also stupid enough to get caught by stupid marketing bullshit like that - whenever they hear about XB360, they feel smart, so they develop a slight positive association with the console. Believe it or not, there are some people who will actually be swayed into a purchase decision based on things like that. Think of stupid little old grandmas trying to buy little johnny the right present. Half senile ones. Maybe more than half.
In theory, that doesn't matter. You could just make an extensible fat-binary format. The Xbox would boot the binaries that were tagged as being "XBOX" and ignore any other binaries. Likewise, the 360 could load the binaries tagged as "X360" or whatever.
I just can't imagine why they would bother. The devs for the OP's games wouldn't have bothered to make the games also available in a format for a console that didn't exist when the games were released, at no extra charge. It would have been a huge amount of bother, for no real obvious gain. They will eventually release a new 360 version of their games, and as far as they are concerned, backwards compatibility is MSFT's problem. All it means to them is that people have slightly less reason to buy the new Battlefront 360, or whatever.
"Explanations" like that are usually there to make stupid people feel smart. The really dumb ones all think that they are smarter than every body else, so while that's pretty much all they remember about geometry, they will think that they are some sort of elite literati because they understood it.
A clone NES would only get you the ability to play old carts. At this point, very few people would bother to buy a cloNES, and also buy a bunch of used carts to play. Thus, the impact on selling downloads of the old games should be negligible. Most of the people who already have a collection of NES games already have an NES, or could get one used fairly easily.
But, then I saw the ripple effect used for widget placement in Dashboard. What if whenever you needed to authenticate, you were instructed to go to the Dashboard, and there was a special authentication widget with a special animated pixel shader flames effect as a border, that no other widget can use as a border.
Something like this would seem to be almost impossible to spoof. Because widgets are run in a sort of visual-sandbox, the potentially malicious app wouldn't be able to directly present a really convincing fake to somebody who is paying attention, if it was done right. (Widgets, naturally, should not be able to draw anything outide their given area, the system would force the auth-widget to appear with a fiery border because it has root permissions.)
And, since every other widget is associated with a watery rippling effect, a fire-widget would reinforce a subconsious sense of danger whenever you interact with it. To even the most clueless user, it would be clear that they were doing something special. Sure, it would be an extra mouse-click / button-press, but given how rarely the user needs to authenticate, I would consider it a minor annoyance. It would also act as a really flashy, easy to demo way to show people how windows isn't as secure.
So, where do I get a PPC440 board/box that is at least as cheap as an AMD equivalent, with TV-output and firewire?
:)
I'm not being flippant, I'm just completely unfamiliar with the embedded PPC stuff, so I'm not sure what's available, what it costs, or where I can get it in single unit quantities. If I can get ahold of something like that for less than the cost of a Mac Mini, it'll be my media center PC/home intranet server in a heartbeat. I'm looking for something with enough oomph to play SD video froma hard drive, and low enough power consumption that I can leave it on 24/7, so I never need to sit through a boot process in order to watch a TV show.
Most of the software I'd be looking to run on it is open-source, so while I've mainly been looking for x86 systems, I really would be fine running on any architecture supported by Linux or a BSD.
Indeed. I'm a reasonably technical person, but I recently had to deal with trying to get bit torrent to work with multiple subnets behind a NAT/DSL modem. I was pulling my hair out. I can deal with single subnet NAT for most things, but it just isn't a good solution in general.
What if there was a geoIP lookup, and the network credited the nearest affiliate in some way? Network is happy because they can distribute in upper lower bulgoslovia without bother to sell to a local affiliate in every single country. Existing local affiliates are happy because all the downloads earn them something.
On a similar note, a slightly different explanations of science is that it explains the world around us as best it can, using only what we can see.
ID requires something we can't see. It isn't science. It may be right. Science just can't address things we can't observe. Whether we were programmed into a great computer, created by bored aliens, or zapped into being by god, unless there is conclusive evidence, science has to ignore all those suggestions. If science resorts to explaining phenomena with an unobservable explanation, then all of science would go out the window, because everything could actually be secretly controlled by fairies and invisible alien robots, and gods.
Which planetarium, and what time? Is it the Fiske planetarium in Boulder? Will you be doing the same talk tomorrow?
According to the Fiske website, they are doing a thing on science fiction ttonight, so I assume that is what you are referring to. They also say they are doing the same show tomorrow, but I'm not sure if it will have the same speakers, or just cover similar topics. I can't make it tonight, but I will plan on being there for tomorrow's event. In the discussion of side-stepping relativity, will you be talking about stuff like Alcubierre's space warping ideas?
Ummm... Okay, here is a quote from the original post again... by LWATCDR:
And then a quote from tomstdenis:
tom then goes on to talk about PPC versus FPGA's, as if LWATCDR weren't talking about ASICs. Since this conversation now ivolves so many people, I hope I've quoted clearly enough. Anyhow, the explanation that an FPGA can be faster than a general purpose CPU was correct, but a complete non-sequitor from LWATCDR's point that ASICs are faster than FPGA.
I do agree that the basic question of general-purpose CPU vs. other is relevant to the article. I couldn't quite bring myself to claim he was off-topic, just non-sequitor. Now, to get to something interesting you said, rather than just picking nits about who said what...
photon37:
I like the basic idea, but I'm not so sure how well dynamically sharing a function between an FPGA and a CPU would work in practice. In theory, it would be like a thread migrating from one normal CPU to another.
Since FPGAs have significant latency when they are reconfigured, I have to think that you wouldn't really want the kernel to be dynamically deciding which app gets FPGA time, and which gets CPU time. I think a better interface would be that the programmer has to manually write an optimisation for an FPGA. This eliminates the need to have automatically generated matching functions in hardware and software. The programmer can decide that the specific functions X, Y, and Z should be able to run on an FPGA if it is available. Whether the FPGA programming code comes from a C compiler or from hand coded FPGA specific stuff doesn't matter. There should be some standard interchange format for the FPGA data. gcc should be able to take some C code an output FPGA intermediate programming data from it.
Then, at run time, an app can do something like:
register_fpga(num_gates_needed, programming_data, function_name);
with a matching "unregister_fpga(function_name)"
These two functions would act sort of like a malloc and free for the FPGA, so the kernel could choose to assign any given function to any of the 0 or more FPGA's in the system. Many applications could each allocate chunks of the FPGA(s). The application itself just needs to call the function by a function pointer, so it can use the hardware or software version by swapping the value of the pointer. (Just like we do now with code bases that have optimised versions of functions for various SIMD variants)
calc_foo = soft_calc_foo;
With each app only registering the functions that it knows will most benefit from optimisation, there will be more room on the FPGA hardware for other apps...
Ummm... Comparing a general purpose CPU to an FPGA is a bit odd. The grand-parent post was talking about ASIC's vs. FPGA's. An ASIC can impliment exactly the same structure as an FPGA, so it can work just as efficiently, but an ASIC can be made to clock higher than an FPGA. Somebody mod the parent post "non-sequitor."
I disagree with you about not making it open source. If it becomes popular, nVidia and ATi will try to optimise for it, regardless of what it is. Closing the source won't help with that. Closing the source would just make me less inclined to trust the benchmarks, because I don't have any way of knowing what it is really doing, or how I should expect it to sompare to my own apps.
Besides, most of the graphics code for benchmarking should be fairly optimal anyway. You don't need to turn on a bunch of extra stuff to make your screenshots prettier. You just need to stuff polygons into the hardware, and see how long it takes.
That said, I really would like to see a sort of SPECshader which compares glsl shading performance for cards. Unlike CPU and general GFX benchmarks, I'm much less ure how that should work, or what I want from it. It would be very difficult to make a fair benchmark, and more plausible to be effected by driver optimisations. (ATI can't control the code generation that made your executable for the benchmark, but the driver gets glsl source to compile on its own, and has pretty much got free reign with it!)
Indeed. I think it is most telling that science is accused of attacking religeon, but the scientists involved in the issue have never tried to sue a church to demand a disclaimer in Sunday School that they are being taught without evidence. The people who demand they want "balanced" education seem to believe that they and their beliefs are being attacked. This irrational fear should be, in itself, enough to dismiss their ideas. I only wish that they, themselves, could be so easily dismissed.
Well, the bandwidth to one hard drive is, IMHO, irrelevant, even in 2010, or whenever it would become a reality. A few hundred high end PC's in that time frame on a smal-ish corporate network could handle it. Especially for streaming media, like video conferences, etc.