Hardware - VA Linux Boxes. OS - Debian, RedHat, OpenBSD, or FreeBSD 4.0 Access - Doesn't say, but I am assuming ssh, ssl, etc, since it says open secure protocols.
Why don't people read the available info, before wasting questions asking stuff that is easy to find out, and doesn't require their CTO?
We wired a lan using phone lines, but we did it the hard way. We cut the ends off, and soldered on ethernet ends. It performed very well, although I am sure that this is not quite what you wanted. >~~~~~~~~~~~~~~~~
To dispel this myth, I have been using Win2K beta 3(well actually, I have had it installed, but I haven't used it more than twice), for about 5 months now, and I haven't had any problems with my system. I also have Caldera 2.2, RedHat 6.1, and Win98 installed.
Granted, When I got Win2K, I also got a new HD, so I wiped everything, set up my partitions, and installed everything at the same time. I don't see how there would be a difference though, if you just said to install to a given partition.
Now, I'm sure people are going to say, what the hell are you doing with 2 Windows OS's and 2 Linux distros on the same machine. Well here it is. I have Win98 for Partition Magic (anyone know how that Linux, free tool is coming?). I have Caldera as my primary OS, the one I use all the time. I installed RedHat, because I wanted to check out Gnome, and didn't want the hassle of getting everything to work from within Caldera. And lastly I installed Win2K just to see what it was like. I thought there were a couple of pretty UI enhancements, but overall it is very similar to NT4.0, I still had almost all the same problems setting up devices.
For some reason, I can't have both my SMC 9??? Network card and my USR 56K modem installed at the same time under either NT4.0, or Win2K, even though Win98, and Linux have no problems whatsoever. Oh well. I don't really care, since I don't use 'Doze for anything anyway. >~~~~~~~~~~~~~~~~
Now I realize that Slashdot is an uncensored forum, but I think that mirroring the articles text on./ is a good way to get in trouble. Considering the fact that there have been numerous discussions about./ mirroring site content to prevent the./ effect from killing sites, I think that this comment is out of place. Since the Irish Times (presumably) makes money from its online site by selling ads, I don't think it is a good idea to quote their entire article and put it up as a comment. A summary sure, but not the entire text. First of all I think that it is wrong, to mirror the site without the paper's permission, and second of all I think it is wrong to use./'s server space to do it. If you want to mirror some content, do it on your own site, and post a link to it in a comment, don't use./ as a mirror. It is not fair to them, or to the Irish Times. >~~~~~~~~~~~~~~~~
When I was in first year Computer Engineering, we spent quite a lot of time on this issue. (Note: Laws, etc, pertain to Canada, but I believe that the US is the same).
Currently by law it is the user's responsibility, totally, in every situation. However, there is starting to be significant pressure to make some systems the responsibility of a Professional Engineer, who would have to sign off on a project, and take responsibility for it. The reason for this is not virii, but other systems, such as medical software, navigation/control systems for aircraft, trains, etc.
Numerous people think that someone who develops the software to control the administration of a drug (for example), should have to take responsibility for the safety of their code
I don't have a reference for it, but one of the big examples that we discussed had to do with a machine that administered chemotherapy drugs to patients in the US. There was software controlling the dosage, and a hardware safety check to prevent ODs in the first version. Then in the second version they removed the hardware check and (I think) about 20 people died of ODs because a lazy programmer didn't check whether the dose was allowed or not. In this case, the hospitals were deemed responsible for the deaths, but personally I think that situations like this need the developer to take responsibility for safety.
Of course the problem with the developer's taking responsibility is that most projects depend on numerous other products. For example if a developer writes code that is safe, but is rendered unsafe by the compiler, or by the OS the system is running on, who is really responsible, the developer, or the tool vendor. Which brings me to my final question, if the thrid party vendor is actually an open source project, who takes responsibility for it. As an example, consider this. Some company wants to write a navigation system for a 777. The search freshmeat, and find that there is a really great AVL library that is LGPL'd. They decide to use it rather than roll their own, and some bug in the lib causes the planes to crash. Is the library developer responsible, or the company who made the nav system? I realize that most licenses have a no liability clause in them, but if it becomes a requirement for developers, could this be a major stumbling block in the road to world domination?
Anyway, I think I have rambled long enough, I should probably go write some code now. (Good thing I am a co-op student, so I won't be working here when the code gets released).
I would have to agree with most people here that optimization should be a secondary concern after correctness, readability, etc. The thing I wanted to stress is how important it is to profile before you optimize. I've read in numerous places that 80% of exectution time is spent in 20% of code, so it REALLY doesn't make sense to spent lots of time optimizing all of your code. Find out what the important 20% is, and concentrate on that. Also, something that compilers can't do is decide on container sizes. For example, if you have a hash table that you know is going to contain 6000 items, don't make it have only hash values (I had a real problem with this once. Increasing the hash table size to 2000 made the algorithm run 200% faster, stupid RogueWave with default hash table size of 64). Similarly if you are using vectors, strings, etc, that you know will have many items, don't construct them to have a size of one, becuase you will spend all of your time allocating memory, and copying the contents of your container. >~~~~~~~~~~~~~~~~
I beleive the 2D treadmill was the original idea behind the bearing mesh solution, so that the bearings are free to turn on either axis. >~~~~~~~~~~~~~~~~
Actually you can get self contained position and directional tracking systems. They work by emitting EM fields in three perpendicular directions, then a sensor measures the angles between them and a reference field to determine Euler angles. I am not sure how the position part works, but I assume it has to do with intensity of the emitted fields. And these systems only cost about $1000 US. >~~~~~~~~~~~~~~~~
I never had a problem being on the ship which was moving maybe 6 meters up and down visually, but not all physically, although I never was in it for more than about 20 mins. I suppose it could, but I have been told that the primary cause of "motion" sickness in simulators is the refresh rate, and lag of the display. The mind compensates for not receiving the motion cues, but it has more problems if you turn your head and the visuals don't change at the same time. This is a total guess, but I think that the longer you were "under the hood", the better your brain would get at compensating, and the less you would notice the lack of motion cues. But I could be waaaay off. >~~~~~~~~~~~~~~~~
Yes I agree that it would probably be easier (and more accurate) to track the feet. The whole thing about the bearings, etc, is to solve the infinite virtual space problem, otherwise you could do the large room thing. I guess the goal wasn't stated clearly enough. You want to provide a way of walking which feels natural AND allows infinite virtual space. >~~~~~~~~~~~~~~~~
That walkthrough project sounds like a good idea, simulate what you can, and provide a cheap solution for the rest. And I agree that joysticks, etc, don't give a good perception of virtual space. >~~~~~~~~~~~~~~~~
My personal opinion is that this will be the second real solution developed, since it allows better 3D stuff. I think that first someone will come up with something like the solution proposed further down the page by Gray, and then a few years later something like this. Designing the device to be non-intrusive would be very difficult though. This reminds me of one of the fist solutions that I thought of which was to suspend the user on some kind of paddles which (s)he moves with feet. Anyway, the whole submission was just to generate some speculation, so I think it is doing well. >~~~~~~~~~~~~~~~~
The problem with this is that it is essentially the same as the large room, visual tricks slolution above. What do you do when the half sphere reaches the edge of the warehouse. Note that a very similar (but much simpler and cheaper) solution is to just use an immersive head mounted display and self contained gyroscopic tracking system. >~~~~~~~~~~~~~~~~
I decided to respond to this at the top level because I have seen numerous people state things about it, and I wanted to address all of you. Contrary to popular beleif, the inner ear problem is not much of a problem at all. If you provide an immersive enough visual environment, the human brain will compensate for not receiving the acceleration inputs for moderate accelerations, such as those involved in walking, etc. This is one of the things that the group I worked with researched. In most applications, true acceleration inputs are only required to differentiate self motion from external motion. As an example of this, in the helicopter simulator I worked on, a motion platform was required for the pilot to be able to determine which motions were of the helicopter, and which of the ship. However, for someone standing on the deck of the ship, not watching another moving object, there is no need for a motion platform. Yes it makes it more realistic, but it is sufficient for training purposes to provide the visual stimulation. In fact most of the time when we were testing we didn't have the ship moving, and therefore didn't put the motion platform on, because it was unnecessary. >~~~~~~~~~~~~~~~~
While most of this article dealt with server issues that I don't know too much about, I did want to comment about desktop performance of Doze vs Linux.
First let me mention something about my situation. I am in university for Computer Engineering, focusing mostly on software development. I use Linux at home (mostly), but have a fair bit of experience with Windows. I have a Pentium 166 with 128MB of RAM at home. Here is what I have found about the performance of Linux vs Windows.
I find that in general, windows performs much faster as a desktop OS. Most applications in windows (I mean any of Win95/Win95/WinNT4.0, start slightly faster than applications in Linux the first time, and MUCH faster on repeated starts. In general I find the performance of Linux (in this regard only), to be about the same as the copy of Win2000 server that I evaluated (on the same box). While I still use Linux because I much prefer the Open Source mentality, and find the customizability and high quality architecture of linux to be much better than 'Doze. However, it would be really nice if Linux would perform as zippily as 'Doze does.
I also have an idea as to why there might be this performance problem. I am not sure if it is correct but this is my hypothesis. Applications developed for linux tend be small, and very modular, and specific, which is a Good Thing, whereas apps in 'Doze tend to be bloated, but more general. This means that the application buffer in Linux is constantly being changed with the new apps that are started, whereas in windows, it reamins more fixed. I think the problem lays in the fact that under linux you need to run X(well you don't NEED to, but you know what I mean...), and then some desktop environment. I have tried both KDE and GNOME, and have found them both to be slow. These toolkits being loaded and unloaded, translating calls to X are the reason for the slowness in Linux (I think). I was wondering how, if at all, Linux could improve this area of its performance, because I see it as a major area where Microsoft will be able attack Linux, once it starts competing more in the desktop market.
Okay, I don't know how much sense that made, but hopefully I got at least some of my point accross.
A year or so ago I had a chance to work with Performer on an SGI Onyx II, while working on a simulator for a co-op placement. It is a really nice class library, and simplifies OpenGL to a level where even a novice can write (good) code for it. I am really happy to hear that it is moving out to Linux. That should make Linux boxes even more possible as simulation engines. Anyway good news! (First?) >~~~~~~~~~~~~~~~~
I quote from the article Legislation will be proposed to Congress that will set up a system for law enforcement officials to go to court to get from third parties the keys that would open encrypted messages.
Which third parties, will you in the US now have to give a copy of our private key to some thrid party, so that they can decrypt messages whenever they want to?
It seems to me that if this is so, then it would be a step in the WRONG direction.
However, I could be wrong, I would like to wait and see the results.
For now I will just be glad that I live in Canada, and have no export restrictions in the first place. >~~~~~~~~~~~~~~~~
Actually most C++ compilers that I know of implement the bool type in hardware at least an 8 bit integer, they just check that its value is only ever assigned a 1 or a zero. While it is possible in most architectures to test a single bit, it usually less efficient because memory these days tends to be byte addressable, not bit addressable, so the entire byte will be loaded into a register (or at least the cache), anyway. Also due to the byte addressing, no space is saved by using a single bit, since it has to be addressed (unless you want to write a compiler that keeps allocates 8 bools at the same time and keeps track of their bit positions to access them(which wouldn't even be that much more efficient since there are rarely (that I have seen) 8 bools all with the same scope and lifetime , so you would only have maybe two bools stored in 8 bits, despite having a more much more complex compiler structure)). Wow that was a long parenthesis.
Note that is is useful to consider a bool as if it were a single bit, but that is not how it is really implemented. >~~~~~~~~~~~~~~~~
Of course they have a bottom line. Their bottom line is that they don't want to have to pay support costs. The situation goes like this, some newbie goes and buys , who then has a problem, finds RedHat's site and emails them, saying "What is all this stuff about partitions that the install manual says. Then RedHat has to either
1) Tell them it is not _really_ RedHat, and they don't support it. (Incidentally hurting there image as providing good customer support), or 2) Provide the support for something they are not making revenues off of, which makes costs them money.
The reason for the trademark issue is not with experienced users, it is with company image and support costs. I understand RedHat's reasoning on this issue, and I think they are taking the correct approach to solving the problem. All they are saying is that they only want to have to deal with support issues for sales that they actually make. >~~~~~~~~~~~~~~~~
Hardware - VA Linux Boxes.
OS - Debian, RedHat, OpenBSD, or FreeBSD 4.0
Access - Doesn't say, but I am assuming ssh, ssl, etc, since it says open secure protocols.
Why don't people read the available info, before wasting questions asking stuff that is easy to find out, and doesn't require their CTO?
Oh well people are just lazy I guess.
>~~~~~~~~~~~~~~~~
The letter was dated April 25, and says they want a reply by May first. So why all of a sudden do they expect a reply by noon today?
>~~~~~~~~~~~~~~~~
We wired a lan using phone lines, but we did it the hard way. We cut the ends off, and soldered on ethernet ends. It performed very well, although I am sure that this is not quite what you wanted.
>~~~~~~~~~~~~~~~~
To dispel this myth, I have been using Win2K beta 3(well actually, I have had it installed, but I haven't used it more than twice), for about 5 months now, and I haven't had any problems with my system. I also have Caldera 2.2, RedHat 6.1, and Win98 installed.
Granted, When I got Win2K, I also got a new HD, so I wiped everything, set up my partitions, and installed everything at the same time. I don't see how there would be a difference though, if you just said to install to a given partition.
Now, I'm sure people are going to say, what the hell are you doing with 2 Windows OS's and 2 Linux distros on the same machine. Well here it is. I have Win98 for Partition Magic (anyone know how that Linux, free tool is coming?). I have Caldera as my primary OS, the one I use all the time. I installed RedHat, because I wanted to check out Gnome, and didn't want the hassle of getting everything to work from within Caldera. And lastly I installed Win2K just to see what it was like. I thought there were a couple of pretty UI enhancements, but overall it is very similar to NT4.0, I still had almost all the same problems setting up devices.
For some reason, I can't have both my SMC 9??? Network card and my USR 56K modem installed at the same time under either NT4.0, or Win2K, even though Win98, and Linux have no problems whatsoever. Oh well. I don't really care, since I don't use 'Doze for anything anyway.>~~~~~~~~~~~~~~~~
Now I realize that Slashdot is an uncensored forum, but I think that mirroring the articles text on ./ is a good way to get in trouble. Considering the fact that there have been numerous discussions about ./ mirroring site content to prevent the ./ effect from killing sites, I think that this comment is out of place. Since the Irish Times (presumably) makes money from its online site by selling ads, I don't think it is a good idea to quote their entire article and put it up as a comment. A summary sure, but not the entire text. First of all I think that it is wrong, to mirror the site without the paper's permission, and second of all I think it is wrong to use ./'s server space to do it. If you want to mirror some content, do it on your own site, and post a link to it in a comment, don't use ./ as a mirror. It is not fair to them, or to the Irish Times.
>~~~~~~~~~~~~~~~~
When I was in first year Computer Engineering, we spent quite a lot of time on this issue. (Note: Laws, etc, pertain to Canada, but I believe that the US is the same).
Currently by law it is the user's responsibility, totally, in every situation. However, there is starting to be significant pressure to make some systems the responsibility of a Professional Engineer, who would have to sign off on a project, and take responsibility for it. The reason for this is not virii, but other systems, such as medical software, navigation/control systems for aircraft, trains, etc.
Numerous people think that someone who develops the software to control the administration of a drug (for example), should have to take responsibility for the safety of their code
I don't have a reference for it, but one of the big examples that we discussed had to do with a machine that administered chemotherapy drugs to patients in the US. There was software controlling the dosage, and a hardware safety check to prevent ODs in the first version. Then in the second version they removed the hardware check and (I think) about 20 people died of ODs because a lazy programmer didn't check whether the dose was allowed or not. In this case, the hospitals were deemed responsible for the deaths, but personally I think that situations like this need the developer to take responsibility for safety.
Of course the problem with the developer's taking responsibility is that most projects depend on numerous other products. For example if a developer writes code that is safe, but is rendered unsafe by the compiler, or by the OS the system is running on, who is really responsible, the developer, or the tool vendor. Which brings me to my final question, if the thrid party vendor is actually an open source project, who takes responsibility for it. As an example, consider this. Some company wants to write a navigation system for a 777. The search freshmeat, and find that there is a really great AVL library that is LGPL'd. They decide to use it rather than roll their own, and some bug in the lib causes the planes to crash. Is the library developer responsible, or the company who made the nav system? I realize that most licenses have a no liability clause in them, but if it becomes a requirement for developers, could this be a major stumbling block in the road to world domination?
Anyway, I think I have rambled long enough, I should probably go write some code now. (Good thing I am a co-op student, so I won't be working here when the code gets released).
>~~~~~~~~~~~~~~~~
I would have to agree with most people here that optimization should be a secondary concern after correctness, readability, etc. The thing I wanted to stress is how important it is to profile before you optimize. I've read in numerous places that 80% of exectution time is spent in 20% of code, so it REALLY doesn't make sense to spent lots of time optimizing all of your code. Find out what the important 20% is, and concentrate on that. Also, something that compilers can't do is decide on container sizes. For example, if you have a hash table that you know is going to contain 6000 items, don't make it have only hash values (I had a real problem with this once. Increasing the hash table size to 2000 made the algorithm run 200% faster, stupid RogueWave with default hash table size of 64). Similarly if you are using vectors, strings, etc, that you know will have many items, don't construct them to have a size of one, becuase you will spend all of your time allocating memory, and copying the contents of your container.
>~~~~~~~~~~~~~~~~
I beleive the 2D treadmill was the original idea behind the bearing mesh solution, so that the bearings are free to turn on either axis.
>~~~~~~~~~~~~~~~~
Actually you can get self contained position and directional tracking systems. They work by emitting EM fields in three perpendicular directions, then a sensor measures the angles between them and a reference field to determine Euler angles. I am not sure how the position part works, but I assume it has to do with intensity of the emitted fields. And these systems only cost about $1000 US.
>~~~~~~~~~~~~~~~~
I never had a problem being on the ship which was moving maybe 6 meters up and down visually, but not all physically, although I never was in it for more than about 20 mins. I suppose it could, but I have been told that the primary cause of "motion" sickness in simulators is the refresh rate, and lag of the display. The mind compensates for not receiving the motion cues, but it has more problems if you turn your head and the visuals don't change at the same time. This is a total guess, but I think that the longer you were "under the hood", the better your brain would get at compensating, and the less you would notice the lack of motion cues. But I could be waaaay off.
>~~~~~~~~~~~~~~~~
Yes I agree that it would probably be easier (and more accurate) to track the feet. The whole thing about the bearings, etc, is to solve the infinite virtual space problem, otherwise you could do the large room thing. I guess the goal wasn't stated clearly enough. You want to provide a way of walking which feels natural AND allows infinite virtual space.
>~~~~~~~~~~~~~~~~
That walkthrough project sounds like a good idea, simulate what you can, and provide a cheap solution for the rest. And I agree that joysticks, etc, don't give a good perception of virtual space.
>~~~~~~~~~~~~~~~~
My personal opinion is that this will be the second real solution developed, since it allows better 3D stuff. I think that first someone will come up with something like the solution proposed further down the page by Gray, and then a few years later something like this. Designing the device to be non-intrusive would be very difficult though. This reminds me of one of the fist solutions that I thought of which was to suspend the user on some kind of paddles which (s)he moves with feet. Anyway, the whole submission was just to generate some speculation, so I think it is doing well.
>~~~~~~~~~~~~~~~~
The problem with this is that it is essentially the same as the large room, visual tricks slolution above. What do you do when the half sphere reaches the edge of the warehouse. Note that a very similar (but much simpler and cheaper) solution is to just use an immersive head mounted display and self contained gyroscopic tracking system.
>~~~~~~~~~~~~~~~~
I decided to respond to this at the top level because I have seen numerous people state things about it, and I wanted to address all of you. Contrary to popular beleif, the inner ear problem is not much of a problem at all. If you provide an immersive enough visual environment, the human brain will compensate for not receiving the acceleration inputs for moderate accelerations, such as those involved in walking, etc. This is one of the things that the group I worked with researched. In most applications, true acceleration inputs are only required to differentiate self motion from external motion. As an example of this, in the helicopter simulator I worked on, a motion platform was required for the pilot to be able to determine which motions were of the helicopter, and which of the ship. However, for someone standing on the deck of the ship, not watching another moving object, there is no need for a motion platform. Yes it makes it more realistic, but it is sufficient for training purposes to provide the visual stimulation. In fact most of the time when we were testing we didn't have the ship moving, and therefore didn't put the motion platform on, because it was unnecessary.
>~~~~~~~~~~~~~~~~
While most of this article dealt with server issues that I don't know too much about, I did want to comment about desktop performance of Doze vs Linux.
First let me mention something about my situation. I am in university for Computer Engineering, focusing mostly on software development. I use Linux at home (mostly), but have a fair bit of experience with Windows. I have a Pentium 166 with 128MB of RAM at home. Here is what I have found about the performance of Linux vs Windows.
I find that in general, windows performs much faster as a desktop OS. Most applications in windows (I mean any of Win95/Win95/WinNT4.0, start slightly faster than applications in Linux the first time, and MUCH faster on repeated starts. In general I find the performance of Linux (in this regard only), to be about the same as the copy of Win2000 server that I evaluated (on the same box). While I still use Linux because I much prefer the Open Source mentality, and find the customizability and high quality architecture of linux to be much better than 'Doze. However, it would be really nice if Linux would perform as zippily as 'Doze does.
I also have an idea as to why there might be this performance problem. I am not sure if it is correct but this is my hypothesis. Applications developed for linux tend be small, and very modular, and specific, which is a Good Thing, whereas apps in 'Doze tend to be bloated, but more general. This means that the application buffer in Linux is constantly being changed with the new apps that are started, whereas in windows, it reamins more fixed. I think the problem lays in the fact that under linux you need to run X(well you don't NEED to, but you know what I mean...), and then some desktop environment. I have tried both KDE and GNOME, and have found them both to be slow. These toolkits being loaded and unloaded, translating calls to X are the reason for the slowness in Linux (I think). I was wondering how, if at all, Linux could improve this area of its performance, because I see it as a major area where Microsoft will be able attack Linux, once it starts competing more in the desktop market.
Okay, I don't know how much sense that made, but hopefully I got at least some of my point accross.
>~~~~~~~~~~~~~~~~
A year or so ago I had a chance to work with Performer on an SGI Onyx II, while working on a simulator for a co-op placement. It is a really nice class library, and simplifies OpenGL to a level where even a novice can write (good) code for it. I am really happy to hear that it is moving out to Linux. That should make Linux boxes even more possible as simulation engines. Anyway good news! (First?)
>~~~~~~~~~~~~~~~~
I quote from the article Legislation will be proposed to Congress that will set up a system for law enforcement officials to go to court to get from third parties the keys that would open encrypted messages.
Which third parties, will you in the US now have to give a copy of our private key to some thrid party, so that they can decrypt messages whenever they want to?
It seems to me that if this is so, then it would be a step in the WRONG direction.
However, I could be wrong, I would like to wait and see the results.
For now I will just be glad that I live in Canada, and have no export restrictions in the first place.
>~~~~~~~~~~~~~~~~
Actually most C++ compilers that I know of implement the bool type in hardware at least an 8 bit integer, they just check that its value is only ever assigned a 1 or a zero. While it is possible in most architectures to test a single bit, it usually less efficient because memory these days tends to be byte addressable, not bit addressable, so the entire byte will be loaded into a register (or at least the cache), anyway. Also due to the byte addressing, no space is saved by using a single bit, since it has to be addressed (unless you want to write a compiler that keeps allocates 8 bools at the same time and keeps track of their bit positions to access them(which wouldn't even be that much more efficient since there are rarely (that I have seen) 8 bools all with the same scope and lifetime , so you would only have maybe two bools stored in 8 bits, despite having a more much more complex compiler structure)). Wow that was a long parenthesis.
Note that is is useful to consider a bool as if it were a single bit, but that is not how it is really implemented.
>~~~~~~~~~~~~~~~~
Of course they have a bottom line. Their bottom line is that they don't want to have to pay support costs. The situation goes like this, some newbie goes and buys , who then has a problem, finds RedHat's site and emails them, saying "What is all this stuff about partitions that the install manual says. Then RedHat has to either
1) Tell them it is not _really_ RedHat, and they don't support it. (Incidentally hurting there image as providing good customer support), or
2) Provide the support for something they are not making revenues off of, which makes costs them money.
The reason for the trademark issue is not with experienced users, it is with company image and support costs. I understand RedHat's reasoning on this issue, and I think they are taking the correct approach to solving the problem. All they are saying is that they only want to have to deal with support issues for sales that they actually make.
>~~~~~~~~~~~~~~~~