You are talking about hardware, he's talking about software, that's 2 seperate things. Most computer hw, when it breaks, it is dead. Of all the parts in a 'normal' computer system only maybe a printer, fan,speaker, monitor, or mouse has a chance of being repaired.
HD? forget about it, maybe the data can be saved. Floppy? I had a floppy that had too much dust in it, that it stopped working, but it was never really broken. CDROM? Small chance, probably cheaper to get a new one anyway. MOBO? nope. Any Expansion card or solid state device? no way, once they die, they are toast. Maybe they magically start working again.
The point is that software, like your engine in a car, can be fixed if there is a problem. Sometimes you have to do a tear down (reinstall) and rebuild the engine, but most of the time problems can be fixed by replacing a part (editing a file).
All that requires is for device drivers to be released for a certain release of a distribution. like the way that nvidia does it's drivers. You can either download pre-compiled versions for many common distributions from Suse, to debian to RH (6.2-7.2). Or, if you've changed the kernel from the default which MOST newbies haven't the foggiest idea how to do, then they provide source to compile the kernel module and glx driver as well. This system seems to work well, as the precompiled stuff is all rpms. The only problem with this install is that you have to leave the GUI to install everything and most likley edit your XF86Config file which no newbie knows how to edit. I thought that I was editing my config file, but there were like 2 or 3 versions in the directory by default in my RH7.2 install. (damn XF86 kept on crashing) It will happen sometime. My only hope is that the kernel people try to make the kernel MORE modular and less monolithic. The linux kernel will always be monolithic, and will require a rebuild/restart for some updates, but overall it is a very good system.
Any game until D2 cannot be played over the internet without the use of battlenet. You can only play on a LAN with IPX. WC2 only had IPX support initially, later they released a battle.net edition. Starcraft has no support for TCP/IP direct connection, only battle.net tcp/ip. nad IPX for LAN. Diablo has the same connections as StarCraft. Battle.net or IPX. And D2 was the first game that you could just 'type in an IP' to connect to a server. OR of course, use battle.net.
The only D2 feature that you need battle.net for is the server-side stored characters. They only did that to prevent people from hacking the client because they knew that people will hack the client. Not much you can do about cheaters, but for the people who want to play 'open' characters on their 'trusted' non-battle.net servers, what's the big deal?
100% would be when the processor never stalls due to lack of instructions, which happens all the time in all processors. When all branch predicts are correct. Basically, when every gate on a processor does work that acomplishes the goal of executing instructions correctly.
As of right now, all processors do work that they don't need to. When a processor comes to a branch instruction, rather then waiting till the result is determined (which happens at the end of the pipeline, not the beginning so that means however long your pipeline is, you'll be waiting that many clock cycles), it tries to predict if that branch will actually be taken. Sometimes right, sometimes wrong.
Other times, the processor is ready to process instructions, but the cache doesn't have the instruction in it's memory, so it has to go out to the L2 cache, and maybe the L3 cache or main memory. This causes the whole CPU to pause while it waits. This problem is what HyperThreading is supposed to help lessen. It tries to reduce the amount of time that a CPU spends waiting for instructions from the cache by keeping 2 seperate 'threads' going at once, so if one stalls, it executes the other. Which hopefully, has the information it needs to continue in either the registers or the main cache.
inefficiant processors spend a lot of the time just simply waiting, doing nothing, or doing work (taking incorrect branches) that is wrong (and hence thrown away).
I'm just saying that most people who use 'server' boards tend to stick a lot of ram in them as usually the ram isn't the major cost of a board like this, the CPU is. Hence, you might as well load it up with ram so that you know that's not the bottleneck. But there is no methodology to the 2 gigs of ram number. Most PC boards don't support more then 1.5 gigs most of the time.
If Mono/.NET actually proves to be a viable technology that speeds up the development of code for GNOME, then we will all be singing the praise of.NET. Otherwise I'll stick with Java/C/C++ for my development.
C# is an interisting language, I've read parts of the spec, and it seems to not totatly contridict itself. In the CLR I'm not too sure how they can trust code, and then not trust code. It seems like the security model is not as strong as everyone seems to say it is. If you compile code to a native level then it seems to be much more dificult to check for security. One advantage doing all interpreted code is that the runtime knows what is being executed better. We'll see how they tackle security. I think that'll be one of the last features to work correctly, on any platform. The only people who seem at all truely concerned with security are Java and Web browser people. it is amazing to me how many security flaws have been programmed into Mozilla, Netscape and IE over the years. Compare that to the number of security flaws that other 'file browsers' have had.
I don't think that it was just Sony that killed the DC. One reason that the DC wasn't as popular as it should have been was the fact that companies like EA didn't support it. Where is Madden for DC? Although Sega's version of Football is better in most HC players eyes, the fact remains that EA never got behind the console and instead waited for the PS2/XBOX/GC generation. Yes, I realize that Sony had something to do with this. Unfortunatly, Sega gets screwed by one thing or another, they do make great games. Back in the day it was possiable for a company to completly design a computer/console system. Now things are so complex that it's impossiable to design a machine that will compete head on with the latest tech without outsourcing the development.
What kind of setup are they testing? Anyone who is willing to spend that kind of money for those processors had better put no less then 2 gigs of ram on those boards!
Who puts 512 megs on a board like that ? I mean really!
So basically Intel is saying that you can get up to a 30% performance boost with Hyperthreading enhanced code right? Therefore their design of the P4 is only 70% (probably less) efficiant.
Same can be said of the Athlon as their CPU is not 100% either. It would be interisting to see how much of a performance boost Athlons get due to this technology. I venture to say that it would be less since the athlons do more work per clock then P4's.
The PS doesn't allow you to play any game that is not Sony approved. All PS/PS2 games have a special boot system that only Sony can put on a disc. FYI, all PSX/PS2 games are made by Sony, at least the physical copy. As a game developer, you submit a final 'gold' version of your program and then Sony makes X copies of it for you and gives them back to you so you can sell it. AFAIK, you pay them up front for all the copies and if they don't sell then you lose the money. I know this is how the Big N does it as well.
maybe not a digital still camera, but definiatly a digital movie camera needs as much CPU as you can throw at it. With a larger processor, you can do more cool stuff on the fly with a camera, from the mundane ( compress harder to save space) to the strange, such as enhanceing the image on the fly ( night vision, color/brightness correction, etc.) Right now some ( if not most) cameras have these kinda of features, but with better processors it can only help to make them better. Also, if you had a CPU instead of an optimized graphics processor you could upgrade your camera.
Some bands tour for years, play small gigs for years and don't get 'popular'. However, these same bands, after signing with a label, some get really popular. Moral of the story, sometimes you need a label to help you get popular.
BTW, can you name a single popular band that hasn't signed with a label? How many of those bands are out there?
Writing scripts to do simple things with flat files is much easier, but doing complex things is very hard.
With XML you can add new fields to a/etc/passwd file without breaking the existing structure of the file. (assuming the dtd is written correctly) And the old scripts that you wrote will still work. XSLT can transform XML if you want to reformat the data easily.
Basically, XML is a pain to use if your only tool is a text editor. If you use xml based tools then it's not that bad, and much more powerful.
The point is that if it doesn't do what you need, then it is useless.
If you are getting 50% functionality, but the 50% includes what you need then it may be a good idea to use the free software.
Linux is only worthwhile to use if it does what you want. And that is not true all the time.
Re:I honestly can't figure out
on
What is .NET?
·
· Score: 1
I'm not blaming the Language, I'm trying to say that the standards process is not the solution to all problems. Just because a standard exists doesn't mean that people will follow it.
But the clone will have a death wish twords the original, blindly going after and killing until the original is destroyed. Unless of course the clone and mother collide in which case they will explode as the same matter cannot occupy the same space. Thank you Einstein very much sir!
But the differences between the different versions of windows are getting smaller and smaller. The difference between Win95 and WinNT is HUGE while the difference between Win2k and WinXP is much smaller. Now when I say this I mean the difference in the APIs. The Win95 implementation of Win32 doesn't have many of the features that the Win32 version that NT runs does. This means that every time you make a call you have to double check the docs to make sure that it will work on both oses properly. Everything from creating a thread to accessing the registry is much different inbeween the versions. WinXP and Win2k is much smaller, and the different versions of XP (home/pro/server) are MOSTLY the same, again not perfect, but MSes track record is that all the APIs are converging.
They will not get rid of Win32 for many more years, of course.Net could turn into the next platform to program to, but again that will not happen until Win32 is long gone. No matter what MS says, the.Net platform will not have the performance of the Win32 apis. They may be easier to program to, but again that remains to be seen.
Not only that, but if you actually want the assertation to be checked during runtime you have to enable them when the VM is started.
Though this is kinda cool, cause then you can use asserations as a 'runtime' debug switch where you put debug statements into assertations and then turn them on when you discover a bug.
Re:I honestly can't figure out
on
What is .NET?
·
· Score: 2
The implementation bugs are one thing I'm talking about. Since for JS, there is no body enforcing the standard, like Sun does for Java, anyone can implement the 'standard' but have bugs in the implementation. Unfortunatly these bugs make you choose between platforms. If you program to the 'bugs' in the IE platform then all of a sudden you've got IE specific code that doesn't work correctly on Mozilla, and vice-versa.
This is the reason that I love Sun for not releasing Java to a standards commitee.
Re:I honestly can't figure out
on
What is .NET?
·
· Score: 5, Interesting
So basically it's like the Kaffe version of Java. Kaffe supports the JDK 1.1 without AWT (soon with some 1.2 support). And guess what, not too many people use it. Maybe a couple, but most people are using a fully functional implementation with Swing/AWT and 1.3 libraries.
I think that the whole C# is a standard argument is BS. Look at JavaScript, it's a standard, has been for a number of years now. Why is it then, that I can write 'standard JavaScript' and IE will interpret it one way, while Mozilla, Netscape and Opera interpret it a slightly different way ( maybe it works, maybe not ). Why are web programmers still writing browser detection code into web pages? I'll tell you why, because it doesn't matter if someone makes a standard if nobody follows it. Not one browser follows the standard perfectly. Mozilla (IMO) comes the closest, but even that is not perfect. You still have to go back,tweak your pages and balh blah blah. Java may not be perfect, but all the 'SUN certified JVMs' work. If you run your code on the Sun JVM, it will work on the IBM one. If not then you can call up IBM and report a bug. With a 'standard' language/runtime, there is no controlling entity to guarentee compatability.
The only diference is that the JVM doesn't like it when you ask for things like 'pointers' and 'unmanaged memory' and generally things that programmers abuse. Instead it only lets you create primitives on the stack and Objects on the heap. You have to circumvent the JVM all together via C dll/shared libraries to get access to the real machine under the VM. While the CLR has a way to get access to the machine (unsafe code anyone). Also, the CLR defines ways to interact inbetween languages other then C which the JVM doesn't. Languages like LISP cannot be compiled to bytecode because the JVM doesn't support tail-recursion.
Not that I want to write any.Net Lisp. or any lisp really.
.NET is not portable yet. Sun, unlike MS has made a commitment to 2 platforms other then it's own. Where is the MS web page about.NET on Solaris, Linux, *BSD or any platform other then Windows. Where can I download the (even beta) implementation that is recognized by MS?
Also, if you really look at.NET you will realise that it is not at all language agnostic, in fact they have (to quote another.NET review) created the first 'skinnable' language system. Now every language can interact provided that they use the.NET santified interfaces to interact.
C# is a neat language, it still remains to be seen if you can write code that is both quick and safe at the same time. (at the same development pace as Java)
You are talking about hardware, he's talking about software, that's 2 seperate things.
Most computer hw, when it breaks, it is dead. Of all the parts in a 'normal' computer system only maybe a printer, fan,speaker, monitor, or mouse has a chance of being repaired.
HD? forget about it, maybe the data can be saved.
Floppy? I had a floppy that had too much dust in it, that it stopped working, but it was never really broken.
CDROM? Small chance, probably cheaper to get a new one anyway.
MOBO? nope.
Any Expansion card or solid state device? no way, once they die, they are toast. Maybe they magically start working again.
The point is that software, like your engine in a car, can be fixed if there is a problem. Sometimes you have to do a tear down (reinstall) and rebuild the engine, but most of the time problems can be fixed by replacing a part (editing a file).
All that requires is for device drivers to be released for a certain release of a distribution. like the way that nvidia does it's drivers.
You can either download pre-compiled versions for many common distributions from Suse, to debian to RH (6.2-7.2). Or, if you've changed the kernel from the default which MOST newbies haven't the foggiest idea how to do, then they provide source to compile the kernel module and glx driver as well. This system seems to work well, as the precompiled stuff is all rpms. The only problem with this install is that you have to leave the GUI to install everything and most likley edit your XF86Config file which no newbie knows how to edit. I thought that I was editing my config file, but there were like 2 or 3 versions in the directory by default in my RH7.2 install. (damn XF86 kept on crashing)
It will happen sometime. My only hope is that the kernel people try to make the kernel MORE modular and less monolithic. The linux kernel will always be monolithic, and will require a rebuild/restart for some updates, but overall it is a very good system.
Any game until D2 cannot be played over the internet without the use of battlenet. You can only play on a LAN with IPX.
WC2 only had IPX support initially, later they released a battle.net edition.
Starcraft has no support for TCP/IP direct connection, only battle.net tcp/ip. nad IPX for LAN.
Diablo has the same connections as StarCraft. Battle.net or IPX.
And D2 was the first game that you could just 'type in an IP' to connect to a server. OR of course, use battle.net.
The only D2 feature that you need battle.net for is the server-side stored characters. They only did that to prevent people from hacking the client because they knew that people will hack the client. Not much you can do about cheaters, but for the people who want to play 'open' characters on their 'trusted' non-battle.net servers, what's the big deal?
100% would be when the processor never stalls due to lack of instructions, which happens all the time in all processors. When all branch predicts are correct. Basically, when every gate on a processor does work that acomplishes the goal of executing instructions correctly.
As of right now, all processors do work that they don't need to. When a processor comes to a branch instruction, rather then waiting till the result is determined (which happens at the end of the pipeline, not the beginning so that means however long your pipeline is, you'll be waiting that many clock cycles), it tries to predict if that branch will actually be taken. Sometimes right, sometimes wrong.
Other times, the processor is ready to process instructions, but the cache doesn't have the instruction in it's memory, so it has to go out to the L2 cache, and maybe the L3 cache or main memory. This causes the whole CPU to pause while it waits. This problem is what HyperThreading is supposed to help lessen. It tries to reduce the amount of time that a CPU spends waiting for instructions from the cache by keeping 2 seperate 'threads' going at once, so if one stalls, it executes the other. Which hopefully, has the information it needs to continue in either the registers or the main cache.
inefficiant processors spend a lot of the time just simply waiting, doing nothing, or doing work (taking incorrect branches) that is wrong (and hence thrown away).
I'm just saying that most people who use 'server' boards tend to stick a lot of ram in them as usually the ram isn't the major cost of a board like this, the CPU is. Hence, you might as well load it up with ram so that you know that's not the bottleneck. But there is no methodology to the 2 gigs of ram number. Most PC boards don't support more then 1.5 gigs most of the time.
If Mono/.NET actually proves to be a viable technology that speeds up the development of code for GNOME, then we will all be singing the praise of .NET. Otherwise I'll stick with Java/C/C++ for my development.
C# is an interisting language, I've read parts of the spec, and it seems to not totatly contridict itself.
In the CLR I'm not too sure how they can trust code, and then not trust code. It seems like the security model is not as strong as everyone seems to say it is. If you compile code to a native level then it seems to be much more dificult to check for security. One advantage doing all interpreted code is that the runtime knows what is being executed better. We'll see how they tackle security. I think that'll be one of the last features to work correctly, on any platform. The only people who seem at all truely concerned with security are Java and Web browser people.
it is amazing to me how many security flaws have been programmed into Mozilla, Netscape and IE over the years. Compare that to the number of security flaws that other 'file browsers' have had.
I don't think that it was just Sony that killed the DC. One reason that the DC wasn't as popular as it should have been was the fact that companies like EA didn't support it. Where is Madden for DC? Although Sega's version of Football is better in most HC players eyes, the fact remains that EA never got behind the console and instead waited for the PS2/XBOX/GC generation.
Yes, I realize that Sony had something to do with this. Unfortunatly, Sega gets screwed by one thing or another, they do make great games.
Back in the day it was possiable for a company to completly design a computer/console system. Now things are so complex that it's impossiable to design a machine that will compete head on with the latest tech without outsourcing the development.
What kind of setup are they testing? Anyone who is willing to spend that kind of money for those processors had better put no less then 2 gigs of ram on those boards!
Who puts 512 megs on a board like that ? I mean really!
So basically Intel is saying that you can get up to a 30% performance boost with Hyperthreading enhanced code right? Therefore their design of the P4 is only 70% (probably less) efficiant.
Same can be said of the Athlon as their CPU is not 100% either. It would be interisting to see how much of a performance boost Athlons get due to this technology. I venture to say that it would be less since the athlons do more work per clock then P4's.
The PS doesn't allow you to play any game that is not Sony approved. All PS/PS2 games have a special boot system that only Sony can put on a disc. FYI, all PSX/PS2 games are made by Sony, at least the physical copy. As a game developer, you submit a final 'gold' version of your program and then Sony makes X copies of it for you and gives them back to you so you can sell it. AFAIK, you pay them up front for all the copies and if they don't sell then you lose the money. I know this is how the Big N does it as well.
maybe not a digital still camera, but definiatly a digital movie camera needs as much CPU as you can throw at it. With a larger processor, you can do more cool stuff on the fly with a camera, from the mundane ( compress harder to save space) to the strange, such as enhanceing the image on the fly ( night vision, color/brightness correction, etc.) Right now some ( if not most) cameras have these kinda of features, but with better processors it can only help to make them better. Also, if you had a CPU instead of an optimized graphics processor you could upgrade your camera.
Nah, it's really about letting the people who like to make jokes at MSes expense chime in. That's what it's all about.
Some bands tour for years, play small gigs for years and don't get 'popular'. However, these same bands, after signing with a label, some get really popular. Moral of the story, sometimes you need a label to help you get popular.
BTW, can you name a single popular band that hasn't signed with a label? How many of those bands are out there?
Especially if you live in CA, home of the eternal power crunch.
I'm as guilty as any though. I keep my 2 boxen on all the time.
Writing scripts to do simple things with flat files is much easier, but doing complex things is very hard.
/etc/passwd file without breaking the existing structure of the file. (assuming the dtd is written correctly) And the old scripts that you wrote will still work. XSLT can transform XML if you want to reformat the data easily.
With XML you can add new fields to a
Basically, XML is a pain to use if your only tool is a text editor. If you use xml based tools then it's not that bad, and much more powerful.
The point is that if it doesn't do what you need, then it is useless.
If you are getting 50% functionality, but the 50% includes what you need then it may be a good idea to use the free software.
Linux is only worthwhile to use if it does what you want. And that is not true all the time.
I'm not blaming the Language, I'm trying to say that the standards process is not the solution to all problems. Just because a standard exists doesn't mean that people will follow it.
But the clone will have a death wish twords the original, blindly going after and killing until the original is destroyed. Unless of course the clone and mother collide in which case they will explode as the same matter cannot occupy the same space. Thank you Einstein very much sir!
What about the version of doom that represented processes as enemys? Kill a marine and emacs dies! Kill the Baron and init dies!
But the differences between the different versions of windows are getting smaller and smaller. The difference between Win95 and WinNT is HUGE while the difference between Win2k and WinXP is much smaller. Now when I say this I mean the difference in the APIs. The Win95 implementation of Win32 doesn't have many of the features that the Win32 version that NT runs does. This means that every time you make a call you have to double check the docs to make sure that it will work on both oses properly. Everything from creating a thread to accessing the registry is much different inbeween the versions. WinXP and Win2k is much smaller, and the different versions of XP (home/pro/server) are MOSTLY the same, again not perfect, but MSes track record is that all the APIs are converging.
.Net could turn into the next platform to program to, but again that will not happen until Win32 is long gone. No matter what MS says, the .Net platform will not have the performance of the Win32 apis. They may be easier to program to, but again that remains to be seen.
They will not get rid of Win32 for many more years, of course
Not only that, but if you actually want the assertation to be checked during runtime you have to enable them when the VM is started.
Though this is kinda cool, cause then you can use asserations as a 'runtime' debug switch where you put debug statements into assertations and then turn them on when you discover a bug.
The implementation bugs are one thing I'm talking about. Since for JS, there is no body enforcing the standard, like Sun does for Java, anyone can implement the 'standard' but have bugs in the implementation. Unfortunatly these bugs make you choose between platforms. If you program to the 'bugs' in the IE platform then all of a sudden you've got IE specific code that doesn't work correctly on Mozilla, and vice-versa.
This is the reason that I love Sun for not releasing Java to a standards commitee.
So basically it's like the Kaffe version of Java. Kaffe supports the JDK 1.1 without AWT (soon with some 1.2 support). And guess what, not too many people use it. Maybe a couple, but most people are using a fully functional implementation with Swing/AWT and 1.3 libraries.
,tweak your pages and balh blah blah. Java may not be perfect, but all the 'SUN certified JVMs' work. If you run your code on the Sun JVM, it will work on the IBM one. If not then you can call up IBM and report a bug. With a 'standard' language/runtime, there is no controlling entity to guarentee compatability.
I think that the whole C# is a standard argument is BS. Look at JavaScript, it's a standard, has been for a number of years now. Why is it then, that I can write 'standard JavaScript' and IE will interpret it one way, while Mozilla, Netscape and Opera interpret it a slightly different way ( maybe it works, maybe not ). Why are web programmers still writing browser detection code into web pages? I'll tell you why, because it doesn't matter if someone makes a standard if nobody follows it. Not one browser follows the standard perfectly. Mozilla (IMO) comes the closest, but even that is not perfect. You still have to go back
The only diference is that the JVM doesn't like it when you ask for things like 'pointers' and 'unmanaged memory' and generally things that programmers abuse. Instead it only lets you create primitives on the stack and Objects on the heap. You have to circumvent the JVM all together via C dll/shared libraries to get access to the real machine under the VM. While the CLR has a way to get access to the machine (unsafe code anyone). Also, the CLR defines ways to interact inbetween languages other then C which the JVM doesn't. Languages like LISP cannot be compiled to bytecode because the JVM doesn't support tail-recursion. .Net Lisp. or any lisp really.
Not that I want to write any
.NET is not portable yet. Sun, unlike MS has made a commitment to 2 platforms other then it's own. Where is the MS web page about .NET on Solaris, Linux, *BSD or any platform other then Windows. Where can I download the (even beta) implementation that is recognized by MS?
.NET you will realise that it is not at all language agnostic, in fact they have (to quote another .NET review) created the first 'skinnable' language system. Now every language can interact provided that they use the .NET santified interfaces to interact.
Also, if you really look at
C# is a neat language, it still remains to be seen if you can write code that is both quick and safe at the same time. (at the same development pace as Java)