That and high polygon count is what makes Doom 3 look so good. It probably will run on a TNT2, but not at anything better than a 5 second per frame slideshow.
High polygon count is irrelevant these days. In all seriousness, you could take a class full of high school seniors who know absolutely nothing about 3D graphics, and have them write an OpenGL renderer that puts 60,000+ texture mapped triangles onscreen at sixty frames per second, assuming a GeForce 3 or better. The renderer to do that is about 50 lines of code at most.
Liberal/Convervative mumbo jumbo
on
Saving the Net
·
· Score: 3, Insightful
The author spends too much time polarizing this into a liberal vs. conservative issue. That's a meaningless division, much like republican vs. democrat. Obviously he has a lot of issues with what he deems as conservatives, so he's stereotyping them and lashing out.
(As a side note, the raw meaning of the term "conservative" is pretty interesting in regard to his issues. You could say that people who want music and software to be free are "liberal." You could also say that people who think that a UNIX-alike is the pinnacle of operating system design are "conservative.")
Experience and social factors matter more than OS
on
Linux Security Cookbook
·
· Score: 3, Insightful
As one of the flock of Linux desktop users I have always taken it for granted that Linux is inherently more secure than Microsoft Windows
If you have someone who is paranoid about security in charge of a system, then that system will inherently be more secure than one run by someone who doesn't think as much about it. With so many Linux users blindly downloading sofware and installing it as root...now there's a massive security hole in itself. If security is your angle, you avoid that as much as possible.
The new Sony CPU mentioned in the article is a fairly normal ARM core with Sony's choice of peripherals built on-chip. This is a perfectly normal thing to do in the industry.
Indeed, it is also something that Sony has done before. The MIPS core in the PlayStation 2 is not only combined on a chip with other hardware, but it includes significant deviations from standard MIPS processors: floating point exception support removed, 128-bit integer registers, dozens of SIMD instructions that operate on 128-bit registers.
ImageMagick is quite portable, and compiles under almost every general purpose operating system that runs on 32-bit or 64-bit CPUs. ImageMagick is available for virtually any Unix or Unix-like system, including Linux. It also runs under Windows '95 and later ('95, '98, ME, NT 4.0, 2000, and XP), Macintosh (MacOS 9 and 10), VMS, and OS/2.
Once again, remember that freely available software, and software that comes with the source code, is NOT a Linux-specific phenomenon. In fact, just about any decent piece of software that runs on top of the Linux kernel can--and already has, in most case--be easily ported to any other popular operating system. Windows developers commonly make use of Perl, Python, Tk, and so on.
I know this sounds somewhat pedantic, but I want to make clear that "Linux" is a *kernel*. Advocates usually forget this. Well-written software is not tied to a particular OS kernel.
Linux and non-commercial software as 'out there and very pervasive
Remember, there's open source software available for Windows. Quite a lot of it actually. Open office clones are more of a threat than an operating system kernel (which is what "Linux" is).
Note: I like Linux, and I have a dual boot Linux/Windows machine at home. I've used UNIX, Linux, and Windows professionally (old school MacOS, too).
Windows has its share of troubles. The idealistic among us don't like Microsoft's market domination. The security-minded don't like the multitude of holes. But take both of those out of the picture, and you end up with a simple question: Is the Linux desktop experience, including applications, really significantly better than Windows in some quantifiable ways? In my personal experience, the OSS desktop environment developers have been playing a game of catch up with Microsoft. Sure, Microsoft didn't invent the GUI. We all know that. But it's not like Linux + KDE|GNOME is so much stunningly better than Windows that there's a reason to jump ship to it. At the same time, realize that there are many, many happy Windows users *and* developers. The anti-Microsoft angst is largely from a certain crowd. The end result is that this issue is largely a muddle. If you paint it to be a clear-cut battle, then it's not representative of reality.
Choice is good, yes, but realize that this choice already exists. Is beating Microsoft and getting everyone to use the Linux kernel a win for choice?
No, but sticking to one's principles does. Imagine all the things down through history (including OSS) that would have never happened, if they had all said: "The majority is too powerful, let's give up"?
But we're essentially talking about _operating systems_, something that geeks get all hot about but no one else cares. And it isn't even all that easy to explain to someone--even a technical someone--why Linux is "superior" to Windows. Many, many intelligent programmers use Windows for software development, not because they have to, but because they prefer it. So what it all comes down to is that "principles" in this case are pretty thin, like "Which is better, Buffy or X-Files?"
Most people don't care what operating system they're using. They care that they can edit photos or play games or write books or whatever.
It's an idealistic rant, and as with most idealistic rants you should listen, remember a few points, and then go back to what you were doing. If you get all nutty and won't touch anything but Linux, for example, then you're just hurting yourself. Look at it this way, over 50% of homes in the United States (don't know about other countries) now have PCs, and 95+ percent of them are running Windows. That's a big, big, big market. Getting all high and mighty doesn't make that go away.
Let's say you're a single guy just out of college, working your first job and living in an apartment. When you come home in the evening, you may have a few chores (laundry, make dinner, clean up here and there), but essentially you have a vast window of free time from at least 7:00pm until you go to sleep. That's 3-5 hours of free time TO DO WHATEVER YOU WANT. On the weekend, you easily have 6 to 8 hours a day to do whatever you want, with lots of time left over to have fun.
Now let's say you're married. This chips away at the amount of free time, but not too much. Maybe this cuts down your evenings a bit, and you never do anything on Friday, but it's still a lot of time.
Now you have kids. To make a long story short, this takes away most of your evenings and weekends, dropping you from 20-30 free hours a week to a few here and there which you have to plan far ahead for and during which you're most likely going to be very tired. It's hard to want to jump into a creative activity during those few hours.
Also, you likely have a house by this point. Now you have maintenance and mowing and so on to eat up any free hours you may have. The realization hits you that even if you could write the great american novel it would take three years of 1-2 hours per week to finish it.
Of course it matters: why would you want to develop and run your application framework on an OS that costs you licensing fees, requires proprietary hardware, has a security track record that resembles swiss cheese, has frequent downtime or requires constant babysitting?
You're letting your zealotry show through. You can run Linux on non-proprietary hardware? What CPU are you using (hint: It cannot be from Intel, AMD, or Motorola; they don't produce non-proprietary hardware)?
I would think that Linux is better suited to what it is designed for: task switching, virtual memory management, memory protection, low-level services, etc. Oh, wait, this is about a payroll _application_. In that case, what does it matter what operating system its running on? If you use portable languages and portable GUI toolkits, then the OS itself matters very, very little. You could run a solid payroll application under Windows, OS X, BSD, you name it.
Hell, even a non-python programmer can read "os.path.isfile()" and guess what it does. I can't say the same about Perl's -f, -d and -e.
You're assuming too much. What does "os.path" mean? Why is "isfile" associated with this "os.path" nonsense? I know the answers, but they're not so easy to get across. Hierarchical nesting of common functions in libraries is not a good idea.
The "executable line noise" criticism has gotten to be a standard knee-jerk reaction, and as such it has lost all meaning.
Perl has built-in syntax for various common tasks, such as regular expression matching and common file operations (Does this file exist? What is the size of this file?). This drives the purists crazy. But if you think about it, putting the syntax directly into the language has some benefits. You can check if a file exists with a single operator. In Python, you have to remember the name of the function *and* which module it is located in, then you have to import that module. This adds up to a lot of extra mental noise.
Or consider regular expressions. In Perl you don't have to precompile regular expressions. The compiler can see that an expression doesn't contain variables and deal with it once up front. Or if you use a variable, you can give the "o" option to an expression, indicating "compile once." In Python, you have to manually compile all expressions and reference them by id, unless you don't mind the overhead of the expression being parsed every time it is used.
To clarify, this is not a knock on Python. Python has many of its own advantages. But simple-minded Perl bashing makes me immediately think the poster is a newbie programmer, or at least a programmer who is not well-rounded.
A digital sound is just a series of values. Whether you have a fancy sound card or motherboard sound, it's exactly the same. Period. And it has been like this for a really long time (going back to when the first 16-bit PC sound cards appeared over a decade ago).
The only differences that a dedicated sound card makes are:
1. Less CPU overhead when playing sounds, though this has been negligible since at least 1995 or so.
2. Some fairly expensive sound processing algorithms become "free" with a dedicated DSP. Of course you could preprocess the sound, play it through a motherboard chipset, and it will sound *exactly* the same. But with a dedicated DSP you can do it in real-time for free. You can also do it on the CPU in real-time, and 99% of the time this is good enough.
Yes, enthusiasts are an odd, often misguided minority. The author is spot-on in that such enthusiasts are refusing to change, even despite such a drastic shift in how PCs fit into the gaming world. This is becoming more glaringly obvious every time nVidia or ATI releases a flashy, overheating, $300+ video card, and base machines from Dell keep shipping with Intel Extreme 2 motherboard graphics chipsets.
But the conclusions and recommendations in the article don't make much sense. There needs to be exciting reasons for people to upgrade their hardware? Game development is all of a sudden going to require 10x fewer resources? What?
If anything, the article a lament about the end of the PC hardware fanboy era (of which Tom's was a part). Maybe, just maybe, that's a good thing, as all of the pointless upgrading wasn't serving a whole lot of purpose anyway. And now we've got more hardware power than we know what do do with. Who can complain about that? If you're still swooning over benchmarks that show one processor being 6% faster than another, or getting 12% more FPSs in Unreal, then you need to move on. That's no longer relevant to computing. The people who realize that are going to be leading the next round of innovation.
99% of hardcore Linux/OSS advocacy geeks use Mozilla. There are many, many more geeks who aren't deep into the advocacy thing, and even develop software for Windows or OS X. Are they using Mozilla? 99% of them are not.
I have not seen that many Visualization or Gaming Apps written in anything but C++.
Actually, these days most of the popular games from smaller developers are written in Flash (aka ActionScript), but a number of entrants in the Independent Games Festival used Python + PyGame.
Well... try to run a production render farm on windows. I have seen that experiment run once and at a large scale it wasn't pretty. UNIX/linux in particular is far more suited for distributed work. By the way, DreamWorks has its own renderer also developed for Linux/Unix.
So you could run a render farm on any UNIX variant (of which Linux is simply one of many), and do the actual content creation on the system of your choice.
It was created using various applications. Those applications could have been running on FreeBSD, OS X...it doesn't really matter all that much. In fact all of these applications can already be recompiled to run on OS X or whatever. That the name of the kernel providing virtual memory, process switching, device drivers, and some low-level services is "Linux" in this case, well, that's something that really only matters if you're a hardcore geek.
I don't mean this as a flame at all. It's just that this story is misguided advocacy. Generic putdowns of "Windows" are equally as meaningless. People don't use an operating system. People use applications. Being fixated on operating systems is like being fixated on tires instead of cars.
It's always the Linux kernel, Apache, and Perl. Always. Every time.
I'd like to read fiction about something *else*
on
The Bug
·
· Score: 3, Insightful
I'm a software developer during the day, and I also work on side projects in the evening when I have time. But there's no way I'm going to bring computer programming into every possible leisure activity. There's some incredible fiction out there, both classic and recent.
I think there's something to be said for being more well-rounded.
And who exactly is in that gap? You've got your hardcore gamers who want the dope graphics and complex gameplay, and you've got the casual people who get hooked on Tetris and Bejeweled and don't really want anything more than that
You play a lot of Tetris and Bust-a-Move and Bejweled and other similar games for a while, then you start to realize that they're all just variations of Tetris and Bejeweled and lose interest. Nothing has changed in this market in a decade. There are many more people exposed to such games now, which is why there's a little boom, but the medium is stale. It's like filmmakers saying "Well, we created Birth of a Nation" and people liked it, so lets keep on creating new versions of it. Obviously that doesn't work.
Sadly, the indie game development community is completely devoid of creativity.
I much prefer smaller games that I can sit down and play, as opposed to extravagant time wasters in which most of the "play" time is spent wandering around a huge level and trying to figure what to do next (good examples are just about anything recent from Nintendo: Metroid, Star Fox Adventures, Mario Sunshine, Zelda). But just because large, modern games have failed in a number of ways isn't an excuse to rewind to the stale games of yesteryear.
Go to shockwave.com or popcap.com or any of these kind of sites and what do you see: worm eats things and gets longer games, click on the colored objects and have the items above them fall down games, retro scrolling shooters with the same batch of power-ups. Are we doomed to forever play endless rehashes of these same concepts?
In short, there's a big gap between these uninspired retreads and the hardcore gamers' games, and that gap is largely empty and unexplored.
That and high polygon count is what makes Doom 3 look so good. It probably will run on a TNT2, but not at anything better than a 5 second per frame slideshow.
High polygon count is irrelevant these days. In all seriousness, you could take a class full of high school seniors who know absolutely nothing about 3D graphics, and have them write an OpenGL renderer that puts 60,000+ texture mapped triangles onscreen at sixty frames per second, assuming a GeForce 3 or better. The renderer to do that is about 50 lines of code at most.
The author spends too much time polarizing this into a liberal vs. conservative issue. That's a meaningless division, much like republican vs. democrat. Obviously he has a lot of issues with what he deems as conservatives, so he's stereotyping them and lashing out.
(As a side note, the raw meaning of the term "conservative" is pretty interesting in regard to his issues. You could say that people who want music and software to be free are "liberal." You could also say that people who think that a UNIX-alike is the pinnacle of operating system design are "conservative.")
As one of the flock of Linux desktop users I have always taken it for granted that Linux is inherently more secure than Microsoft Windows
If you have someone who is paranoid about security in charge of a system, then that system will inherently be more secure than one run by someone who doesn't think as much about it. With so many Linux users blindly downloading sofware and installing it as root...now there's a massive security hole in itself. If security is your angle, you avoid that as much as possible.
The new Sony CPU mentioned in the article is a fairly normal ARM core with Sony's choice of peripherals built on-chip. This is a perfectly normal thing to do in the industry.
Indeed, it is also something that Sony has done before. The MIPS core in the PlayStation 2 is not only combined on a chip with other hardware, but it includes significant deviations from standard MIPS processors: floating point exception support removed, 128-bit integer registers, dozens of SIMD instructions that operate on 128-bit registers.
From the ImageMagick site:
ImageMagick is quite portable, and compiles under almost every general purpose operating system that runs on 32-bit or 64-bit CPUs. ImageMagick is available for virtually any Unix or Unix-like system, including Linux. It also runs under Windows '95 and later ('95, '98, ME, NT 4.0, 2000, and XP), Macintosh (MacOS 9 and 10), VMS, and OS/2.
Once again, remember that freely available software, and software that comes with the source code, is NOT a Linux-specific phenomenon. In fact, just about any decent piece of software that runs on top of the Linux kernel can--and already has, in most case--be easily ported to any other popular operating system. Windows developers commonly make use of Perl, Python, Tk, and so on.
I know this sounds somewhat pedantic, but I want to make clear that "Linux" is a *kernel*. Advocates usually forget this. Well-written software is not tied to a particular OS kernel.
Linux and non-commercial software as 'out there and very pervasive
Remember, there's open source software available for Windows. Quite a lot of it actually. Open office clones are more of a threat than an operating system kernel (which is what "Linux" is).
Note: I like Linux, and I have a dual boot Linux/Windows machine at home. I've used UNIX, Linux, and Windows professionally (old school MacOS, too).
Windows has its share of troubles. The idealistic among us don't like Microsoft's market domination. The security-minded don't like the multitude of holes. But take both of those out of the picture, and you end up with a simple question: Is the Linux desktop experience, including applications, really significantly better than Windows in some quantifiable ways? In my personal experience, the OSS desktop environment developers have been playing a game of catch up with Microsoft. Sure, Microsoft didn't invent the GUI. We all know that. But it's not like Linux + KDE|GNOME is so much stunningly better than Windows that there's a reason to jump ship to it. At the same time, realize that there are many, many happy Windows users *and* developers. The anti-Microsoft angst is largely from a certain crowd. The end result is that this issue is largely a muddle. If you paint it to be a clear-cut battle, then it's not representative of reality.
Choice is good, yes, but realize that this choice already exists. Is beating Microsoft and getting everyone to use the Linux kernel a win for choice?
No, but sticking to one's principles does. Imagine all the things down through history (including OSS) that would have never happened, if they had all said: "The majority is too powerful, let's give up"?
But we're essentially talking about _operating systems_, something that geeks get all hot about but no one else cares. And it isn't even all that easy to explain to someone--even a technical someone--why Linux is "superior" to Windows. Many, many intelligent programmers use Windows for software development, not because they have to, but because they prefer it. So what it all comes down to is that "principles" in this case are pretty thin, like "Which is better, Buffy or X-Files?"
Most people don't care what operating system they're using. They care that they can edit photos or play games or write books or whatever.
It's an idealistic rant, and as with most idealistic rants you should listen, remember a few points, and then go back to what you were doing. If you get all nutty and won't touch anything but Linux, for example, then you're just hurting yourself. Look at it this way, over 50% of homes in the United States (don't know about other countries) now have PCs, and 95+ percent of them are running Windows. That's a big, big, big market. Getting all high and mighty doesn't make that go away.
Let's say you're a single guy just out of college, working your first job and living in an apartment. When you come home in the evening, you may have a few chores (laundry, make dinner, clean up here and there), but essentially you have a vast window of free time from at least 7:00pm until you go to sleep. That's 3-5 hours of free time TO DO WHATEVER YOU WANT. On the weekend, you easily have 6 to 8 hours a day to do whatever you want, with lots of time left over to have fun.
Now let's say you're married. This chips away at the amount of free time, but not too much. Maybe this cuts down your evenings a bit, and you never do anything on Friday, but it's still a lot of time.
Now you have kids. To make a long story short, this takes away most of your evenings and weekends, dropping you from 20-30 free hours a week to a few here and there which you have to plan far ahead for and during which you're most likely going to be very tired. It's hard to want to jump into a creative activity during those few hours.
Also, you likely have a house by this point. Now you have maintenance and mowing and so on to eat up any free hours you may have. The realization hits you that even if you could write the great american novel it would take three years of 1-2 hours per week to finish it.
Of course it matters: why would you want to develop and run your application framework on an OS that costs you licensing fees, requires proprietary hardware, has a security track record that resembles swiss cheese, has frequent downtime or requires constant babysitting?
You're letting your zealotry show through. You can run Linux on non-proprietary hardware? What CPU are you using (hint: It cannot be from Intel, AMD, or Motorola; they don't produce non-proprietary hardware)?
I would think that Linux is better suited to what it is designed for: task switching, virtual memory management, memory protection, low-level services, etc. Oh, wait, this is about a payroll _application_. In that case, what does it matter what operating system its running on? If you use portable languages and portable GUI toolkits, then the OS itself matters very, very little. You could run a solid payroll application under Windows, OS X, BSD, you name it.
Hell, even a non-python programmer can read "os.path.isfile()" and guess what it does. I can't say the same about Perl's -f, -d and -e.
You're assuming too much. What does "os.path" mean? Why is "isfile" associated with this "os.path" nonsense? I know the answers, but they're not so easy to get across. Hierarchical nesting of common functions in libraries is not a good idea.
The "executable line noise" criticism has gotten to be a standard knee-jerk reaction, and as such it has lost all meaning.
Perl has built-in syntax for various common tasks, such as regular expression matching and common file operations (Does this file exist? What is the size of this file?). This drives the purists crazy. But if you think about it, putting the syntax directly into the language has some benefits. You can check if a file exists with a single operator. In Python, you have to remember the name of the function *and* which module it is located in, then you have to import that module. This adds up to a lot of extra mental noise.
Or consider regular expressions. In Perl you don't have to precompile regular expressions. The compiler can see that an expression doesn't contain variables and deal with it once up front. Or if you use a variable, you can give the "o" option to an expression, indicating "compile once." In Python, you have to manually compile all expressions and reference them by id, unless you don't mind the overhead of the expression being parsed every time it is used.
To clarify, this is not a knock on Python. Python has many of its own advantages. But simple-minded Perl bashing makes me immediately think the poster is a newbie programmer, or at least a programmer who is not well-rounded.
A digital sound is just a series of values. Whether you have a fancy sound card or motherboard sound, it's exactly the same. Period. And it has been like this for a really long time (going back to when the first 16-bit PC sound cards appeared over a decade ago).
The only differences that a dedicated sound card makes are:
1. Less CPU overhead when playing sounds, though this has been negligible since at least 1995 or so.
2. Some fairly expensive sound processing algorithms become "free" with a dedicated DSP. Of course you could preprocess the sound, play it through a motherboard chipset, and it will sound *exactly* the same. But with a dedicated DSP you can do it in real-time for free. You can also do it on the CPU in real-time, and 99% of the time this is good enough.
Yes, enthusiasts are an odd, often misguided minority. The author is spot-on in that such enthusiasts are refusing to change, even despite such a drastic shift in how PCs fit into the gaming world. This is becoming more glaringly obvious every time nVidia or ATI releases a flashy, overheating, $300+ video card, and base machines from Dell keep shipping with Intel Extreme 2 motherboard graphics chipsets.
But the conclusions and recommendations in the article don't make much sense. There needs to be exciting reasons for people to upgrade their hardware? Game development is all of a sudden going to require 10x fewer resources? What?
If anything, the article a lament about the end of the PC hardware fanboy era (of which Tom's was a part). Maybe, just maybe, that's a good thing, as all of the pointless upgrading wasn't serving a whole lot of purpose anyway. And now we've got more hardware power than we know what do do with. Who can complain about that? If you're still swooning over benchmarks that show one processor being 6% faster than another, or getting 12% more FPSs in Unreal, then you need to move on. That's no longer relevant to computing. The people who realize that are going to be leading the next round of innovation.
99% of hardcore Linux/OSS advocacy geeks use Mozilla. There are many, many more geeks who aren't deep into the advocacy thing, and even develop software for Windows or OS X. Are they using Mozilla? 99% of them are not.
I have not seen that many Visualization or Gaming Apps written in anything but C++.
Actually, these days most of the popular games from smaller developers are written in Flash (aka ActionScript), but a number of entrants in the Independent Games Festival used Python + PyGame.
And I really wonder what language he suggests. If not C/C++/Java, then what? VB?
Wow, what a naive response!
How about Python, Ruby, Erlang, Smalltalk, Perl, Lisp, ML, Pike, Lua, etc., etc.?
Well... try to run a production render farm on windows. I have seen that experiment run once and at a large scale it wasn't pretty. UNIX/linux in particular is far more suited for distributed work. By the way, DreamWorks has its own renderer also developed for Linux/Unix.
So you could run a render farm on any UNIX variant (of which Linux is simply one of many), and do the actual content creation on the system of your choice.
It was created using various applications. Those applications could have been running on FreeBSD, OS X...it doesn't really matter all that much. In fact all of these applications can already be recompiled to run on OS X or whatever. That the name of the kernel providing virtual memory, process switching, device drivers, and some low-level services is "Linux" in this case, well, that's something that really only matters if you're a hardcore geek.
I don't mean this as a flame at all. It's just that this story is misguided advocacy. Generic putdowns of "Windows" are equally as meaningless. People don't use an operating system. People use applications. Being fixated on operating systems is like being fixated on tires instead of cars.
It's always the Linux kernel, Apache, and Perl. Always. Every time.
I'm a software developer during the day, and I also work on side projects in the evening when I have time. But there's no way I'm going to bring computer programming into every possible leisure activity. There's some incredible fiction out there, both classic and recent.
I think there's something to be said for being more well-rounded.
And who exactly is in that gap? You've got your hardcore gamers who want the dope graphics and complex gameplay, and you've got the casual people who get hooked on Tetris and Bejeweled and don't really want anything more than that
You play a lot of Tetris and Bust-a-Move and Bejweled and other similar games for a while, then you start to realize that they're all just variations of Tetris and Bejeweled and lose interest. Nothing has changed in this market in a decade. There are many more people exposed to such games now, which is why there's a little boom, but the medium is stale. It's like filmmakers saying "Well, we created Birth of a Nation" and people liked it, so lets keep on creating new versions of it. Obviously that doesn't work.
Sadly, the indie game development community is completely devoid of creativity.
I much prefer smaller games that I can sit down and play, as opposed to extravagant time wasters in which most of the "play" time is spent wandering around a huge level and trying to figure what to do next (good examples are just about anything recent from Nintendo: Metroid, Star Fox Adventures, Mario Sunshine, Zelda). But just because large, modern games have failed in a number of ways isn't an excuse to rewind to the stale games of yesteryear.
Go to shockwave.com or popcap.com or any of these kind of sites and what do you see: worm eats things and gets longer games, click on the colored objects and have the items above them fall down games, retro scrolling shooters with the same batch of power-ups. Are we doomed to forever play endless rehashes of these same concepts?
In short, there's a big gap between these uninspired retreads and the hardcore gamers' games, and that gap is largely empty and unexplored.