It seems like you are pro-open-source, but don't dismiss the commercial products completely. Novell's ZENworks for Desktops (ZfD) product is quite simply amazing! It also happens to do exactly what you're talking about.
Does it require Novell servers? No, it does not. You can read more from the ZENworks documentation at Novell's website. Read the ZENworks 4 docs. ZENworks 6 is a bundle of ZENworks 4 for Desktops and ZENworks for Servers and ZENworks for Handhelds.
I once read about a university (I think in the UK) that managed 30,000 Windows desktops with only six people! Also, the largest companies on the planet tend to favor ZENworks for Desktops over SMS for deploying patches.
My computer support group uses ZfD to manage about 1,500 computers whose configurations vary widely from P2-400's to P4-3.06 Ghz boxes running anything from Win98 to WinXP. About 400 machines are in labs, but the rest are faculty or staff desktops. ZfD is extremely flexible. ZfD has an imaging solution, but is not limited to that.
ZfD imaging boots up a Linux agent first, either from the hard disk or by booting it over the network from the ZfD server or from a bootable CD-ROM. This agent checks Novell eDirectory to see what it should do (store an image of this workstation on the server, install an image onto the workstation, or other tasks). Once the image has been transferred, the computer reboots into Windows. Each time the computer boots, ZfD will check to see if it should perform an imaging task; if not, then it just boots Windows. ZfD can also add software to the base image on-the-fly!
Alternately, you can automate an install of Windows (just the base OS, with patches). Then install the ZfD agent and let it install all the other software for you. This solution is the ultimate in flexiblity, but requires you to have a pretty intimate knowledge of how Windows and ZENworks function, like what registry entries are dangerous to deploy to other workstations.
A combination of imaging and software deployment is an excellent way to get a workstation installed quickly and have a large selection of software available. You can deploy a small image (Windows, ZfD agent) and allow the ZfD agent to install other software as needed by the users. For example, ZfD can put items on the Start menu and when the user clicks on that item for the first time, ZfD installs the software. Rarely does one need to reboot.
ZENworks is probably the best solution available for managing large numbers of Windows desktops. It is powerful and flexible. Like many powerful tools, it is also a double-edged sword. It can easily deploy a patch and fix thousands of workstations, but if you deploy the wrong registry entry, you can just as easily break thousands of workstations. This is why you have to know Windows inside and out.
Finally, Novell has really good discounts for education. If you don't already have it available to you, check into it.
Does this mean that the display will also be set to a 60 Hz vertical refresh, which causes "flicker" with 60 cycle per second light sources, like some flourescent lighting? I think I would very much prefer they cap it at 72 FPS, or at least set the vertical refresh higher than 60.
One danger of open-source projects is that everyone who gets involved wants different things from the project and begins to add features or change the design to meet their individual expectations. While you want to be open to ideas, you also need a solid and reliable working project when you're done. Don't let the peoject spin out of control.
My suggestion is that you make very clear the goals of the project and the list of features that the software must have and then try to keep developers tightly focused on these things. Also make it clear that new feature ideas must be discussed and those in charge of the project must agree to add that new feature to the list before anyone starts trying to implement that new feature.
If someone really wants to include a feature and you feel it's too much work or a feature you don't need for yourself, then you might say something like the following, "I like your idea and can see your need, but I need a working product first. Once we get my part done (version 1.0), then we can add your feature for future versions."
Keep everyone focused on your specific goals and you shall have your project completed on-time and efficiently so. Otherwise, you run the risk of many developers adding whatever they want, whenever they want, and having lots of extra useless so-called "spaghetti" code that may or may not help you.
I generally recommend that you dedicate a server to critically important services and that you provide a few less important services on other servers, with each server running services that get along well together.
Your decisions should partially be based upon which operating system you are using and the service involved. For example, a unix-like OS running a traditional mail server could handle thousands of mailboxes and possibly still provide your DNS and DHCP services, but I would not ask the same of Windows running Exchange. Things can change dramatically depending on whether you're running Windows, NetWare, Solaris, OS/2, MacOS, FreeBSD, or Linux.
It also partially depends on whether your servers are clustered or not. With a NetWare cluster, each server runs mostly independent, but services running on any server can move to any other server in the cluster due to failures or at your whim (server maintenance or load balancing). The simplest case is moving a "disk" from one server to another without downtime or even anyone noticing! Clustering your servers will change how you think about providing services.
I have nothing against Python or any other language and Python's availability is not the point. However, the relative size of init to Python is very much my point. Take a look at the source code for init vs the source for Python or bash, quite a difference in size and complexity.
I am a huge fan of keeping critical parts of the operating system as small and simple as possible. In fact, I am fascinated by the 14KB QNX kernel that fits entirely into the 16KB processor cache of an i486 processor. As you can imagine, QNX is remarkably quick for this reason. Linux and Windows and MacOS kernels are immense and complex by comparison. This is why QNX can be considered a "real-time" operating system and the others mentioned cannot.
Also, the QNX kernel has no bugs in it because it is so small that it can be easily debugged by a single person who knows the exact purpose of every line of code.
You know, X-Windows is available on just about any unix-like operating system, and gosh, I think it's written in C or C++ too, but then so was just about the entire system.
The point is not whether Python is available, the point is that init is extremely small and simple. It works reliably on every platform because it is small and simple. The more complex you make system startup, the more often someone will break it.
That one little piece of code is the first and last process to run. It must be as reliable as possible.
One of the great strengths of unix-like operating systems and the thing that makes them easy to port from one platform to another is that the core system components are very simple, not based on some relatively huge and complex thing like Python.
You're on the extremely low end of where a SAN becomes practical... and it may not be practical in your environment. If the SAN is really going to stretch your budget thin, don't do it!
Xiotech's products are very easy to use, but costly. You'd be lucky if you could get the whole setup for under 80,000 USD. The SAN hardware itself is reasonably priced, but you pay a license to use 1-8 servers, you pay more for 9-16, and so on. The software part gets expensive quick. Also, be aware that Xiotech charges about three times the off-the-shelf price for drives and they won't let you use off-the-shelf drives or you void your warranty and get no support. They certainly make their money on the drives.
HP/Compaq has the EVA series of disk arrays that use very similar "virtual array" technology that Xiotech uses. Again, very flexible, but expensive. At least HP doesn't make you pay more to connect more servers and the charges for drives is a little more reasonable.
It certainly seems that someone along the way forgot that RAID means Redundant Array of Inexpensive Disks. The whole point is to make a bunch of relatively unreliable disks into a very reliable whole, unless you just want speed and don't need the reliability.
If you're thinking about a two or three server cluster and just need shared storage where you can add more drives, you might look at some of the small and inexpensive rackmount IDE RAID solutions that are available with Fibre Channel and a FC hub, but be sure to get references and see who's using the things and what their experience has been. You can get two terabytes for under 15,000, but some of these are good yet inexpensive and some of them are just cheap junk.
These IDE RAID solutions do not provide the advanced features of a virtualized SAN, like changing RAID types on the fly (from RAID 5 to RAID 10, for example). However, you could easily spend 60,000+ on a Xiotech SAN or you could spend the same amount and have eight terabytes in four IDE RAID modules. Your choice, but for a small shop, I say get the eight terabytes and setup mirroring across two of these RAID boxes.
This command sets a preference that reverses all color polarity on the screen (like a photographic negative). I think you'll have to reboot or at least log out and back in to see the results. Of course, changing the -bool YES to -bool NO will return your display back to normal.
The answer is to use something like the "wireless switch" that Vivato developed, which uses phased-array antenna technology and can give the full 11 Mbps 802.11b bandwidth to each client.
Of course, this sort of key issue has already been recognized and solved by the open-source community.
You should at least take a look at the Andrew Filesystem which would provide one file sharing system across all your machines.
Another good and reliable alternative it to use a Macintosh as a central file repository, since MacOS now comes pre-configured with Samba, NFS, and AFP file sharing.
If you're looking for durable, go with the GoBook MAX. It's made out of very tough materials and you can just hose it down if it gets dirty. Otherwise, I can't help you since I bought a PowerBook.
For those who are willing and able to learn about network security, I encourage them to learn as much as possible and talk to as many people as possible about security. Many of your are correct, a firewall alone does not make a secure system.
However, for the average person, who thinks of their computer the same as a video recorder or microwave oven (that you shold plug it in and it should just work), these people need a secure home operating system, designed by experts to be as secure as possible without preventing reasonable use.
Personally, I would like to see a dual-personality OS for home use. One side would be Entertainment OS (EOS) for the kids and serious gamers and for watching movies or listening to music. The other side is for typical "home office" use. It would be secure and focus on 2-D applications. This side should be secured even against the EOS side.
The cheapest solution (green too) that I can think of is to move underground. Have you ever been in a cave? Once you get about six feet underground the temperature never changes. It's always nicely cool. Some caves even come with filtered running mineral water. Bonus!
Once underground, your only real environmental problem is lighting, for which you should use fibre optics and solar collectors during the day and use LED lighting powered by batteries when the sun is not out. Oh, and charge the batteries using solar too.
If there are no caves on the market in your area, just bury your house. Remember, the dirt needs to be at least three feet thick, but you will reach a point of diminishing returns at around five or six feet so there's no need to waste your money and labor on extra dirt. Where you get the dirt is up to you, but please ask your neighbor before digging in their yard!
Note: author not responsible for damage to buried houses
It seems pretty obvious from most of the posts here that few people understand why there are more men than women in computing. Many of the posts show gross insensitivity and a serious lack of understanding or compassion, which might have something to do with it.
I would like to see a women's group get together and research this topic and then publish the results on the web. I think only women will be able to really say why they don't currently like CS and what would need to change for them to become interested.
By the way, in the Space Shuttle software group, it's about 50% women. I think everyone who works for the group, both men and women, is married and they also work only 8am to 5pm, no overtime. If more programming jobs were like that, I think you'd see more programmers in general, both men and women. A 60-80 hour work week is just no fun for the average person, especially if they have children or a social life.
As with the military, certain things must change in the computing world to accomodate more women. Many of the suggestions I've seen have been based on guesswork. I'd love to see serious discussion and suggestions from women who've chosen to leave CS for something else.
I've seen a few posts saying that Access isn't designed for multi-user databases. It would be more acccurate to say it is not optimized for that function, but is fully capable of it.
You must carefully construct the Access database specifically for shared access; it doesn't do that by default. If your average user created the database, then it is NOT configured for multi-user access.
I created a small Access database that is used by around 40-50 people and the MDB file is shared from a NetWare server for security. You have to setup an Access "workgroup" and "join" that workgroup from each machine and have people login to the database. It does allow for some access control and does do record-level locking.
In short, I think you're having data access conflicts because your databases are not configured for multi-user access.
Microsoft is always trying to force us into using their own software for everything, even when they do not have a good solution and they make it very difficult to effectively use the products of other companies. Microsoft only makes people angry when they do things like this.
Microsoft does not have a solution for everything, nor does Sun, Apple, Novell, Oracle, or any other company. Interoperability and compatibility are essential and the easier it is for us to integrate one company's products with those of other companies, the more we like and will use those products.
If Microsoft would make their products more compatible, accept responsibility for security, and provide more flexible and less extortive licensing, it would go a long way toward making Microsoft the company many of us want it to be.
It seems like you are pro-open-source, but don't dismiss the commercial products completely. Novell's ZENworks for Desktops (ZfD) product is quite simply amazing! It also happens to do exactly what you're talking about.
Does it require Novell servers? No, it does not. You can read more from the ZENworks documentation at Novell's website. Read the ZENworks 4 docs. ZENworks 6 is a bundle of ZENworks 4 for Desktops and ZENworks for Servers and ZENworks for Handhelds.
I once read about a university (I think in the UK) that managed 30,000 Windows desktops with only six people! Also, the largest companies on the planet tend to favor ZENworks for Desktops over SMS for deploying patches.
My computer support group uses ZfD to manage about 1,500 computers whose configurations vary widely from P2-400's to P4-3.06 Ghz boxes running anything from Win98 to WinXP. About 400 machines are in labs, but the rest are faculty or staff desktops. ZfD is extremely flexible. ZfD has an imaging solution, but is not limited to that.
ZfD imaging boots up a Linux agent first, either from the hard disk or by booting it over the network from the ZfD server or from a bootable CD-ROM. This agent checks Novell eDirectory to see what it should do (store an image of this workstation on the server, install an image onto the workstation, or other tasks). Once the image has been transferred, the computer reboots into Windows. Each time the computer boots, ZfD will check to see if it should perform an imaging task; if not, then it just boots Windows. ZfD can also add software to the base image on-the-fly!
Alternately, you can automate an install of Windows (just the base OS, with patches). Then install the ZfD agent and let it install all the other software for you. This solution is the ultimate in flexiblity, but requires you to have a pretty intimate knowledge of how Windows and ZENworks function, like what registry entries are dangerous to deploy to other workstations.
A combination of imaging and software deployment is an excellent way to get a workstation installed quickly and have a large selection of software available. You can deploy a small image (Windows, ZfD agent) and allow the ZfD agent to install other software as needed by the users. For example, ZfD can put items on the Start menu and when the user clicks on that item for the first time, ZfD installs the software. Rarely does one need to reboot.
ZENworks is probably the best solution available for managing large numbers of Windows desktops. It is powerful and flexible. Like many powerful tools, it is also a double-edged sword. It can easily deploy a patch and fix thousands of workstations, but if you deploy the wrong registry entry, you can just as easily break thousands of workstations. This is why you have to know Windows inside and out.
Finally, Novell has really good discounts for education. If you don't already have it available to you, check into it.
Does this mean that the display will also be set to a 60 Hz vertical refresh, which causes "flicker" with 60 cycle per second light sources, like some flourescent lighting? I think I would very much prefer they cap it at 72 FPS, or at least set the vertical refresh higher than 60.
Perhaps you need to open your mind to the experience.
One danger of open-source projects is that everyone who gets involved wants different things from the project and begins to add features or change the design to meet their individual expectations. While you want to be open to ideas, you also need a solid and reliable working project when you're done. Don't let the peoject spin out of control.
My suggestion is that you make very clear the goals of the project and the list of features that the software must have and then try to keep developers tightly focused on these things. Also make it clear that new feature ideas must be discussed and those in charge of the project must agree to add that new feature to the list before anyone starts trying to implement that new feature.
If someone really wants to include a feature and you feel it's too much work or a feature you don't need for yourself, then you might say something like the following, "I like your idea and can see your need, but I need a working product first. Once we get my part done (version 1.0), then we can add your feature for future versions."
Keep everyone focused on your specific goals and you shall have your project completed on-time and efficiently so. Otherwise, you run the risk of many developers adding whatever they want, whenever they want, and having lots of extra useless so-called "spaghetti" code that may or may not help you.
I generally recommend that you dedicate a server to critically important services and that you provide a few less important services on other servers, with each server running services that get along well together.
Your decisions should partially be based upon which operating system you are using and the service involved. For example, a unix-like OS running a traditional mail server could handle thousands of mailboxes and possibly still provide your DNS and DHCP services, but I would not ask the same of Windows running Exchange. Things can change dramatically depending on whether you're running Windows, NetWare, Solaris, OS/2, MacOS, FreeBSD, or Linux.
It also partially depends on whether your servers are clustered or not. With a NetWare cluster, each server runs mostly independent, but services running on any server can move to any other server in the cluster due to failures or at your whim (server maintenance or load balancing). The simplest case is moving a "disk" from one server to another without downtime or even anyone noticing! Clustering your servers will change how you think about providing services.
I have nothing against Python or any other language and Python's availability is not the point. However, the relative size of init to Python is very much my point. Take a look at the source code for init vs the source for Python or bash, quite a difference in size and complexity.
I am a huge fan of keeping critical parts of the operating system as small and simple as possible. In fact, I am fascinated by the 14KB QNX kernel that fits entirely into the 16KB processor cache of an i486 processor. As you can imagine, QNX is remarkably quick for this reason. Linux and Windows and MacOS kernels are immense and complex by comparison. This is why QNX can be considered a "real-time" operating system and the others mentioned cannot.
Also, the QNX kernel has no bugs in it because it is so small that it can be easily debugged by a single person who knows the exact purpose of every line of code.
That is the point of keeping it simple.
You know, X-Windows is available on just about any unix-like operating system, and gosh, I think it's written in C or C++ too, but then so was just about the entire system.
The point is not whether Python is available, the point is that init is extremely small and simple. It works reliably on every platform because it is small and simple. The more complex you make system startup, the more often someone will break it.
That one little piece of code is the first and last process to run. It must be as reliable as possible.
One of the great strengths of unix-like operating systems and the thing that makes them easy to port from one platform to another is that the core system components are very simple, not based on some relatively huge and complex thing like Python.
You're on the extremely low end of where a SAN becomes practical... and it may not be practical in your environment. If the SAN is really going to stretch your budget thin, don't do it!
Xiotech's products are very easy to use, but costly. You'd be lucky if you could get the whole setup for under 80,000 USD. The SAN hardware itself is reasonably priced, but you pay a license to use 1-8 servers, you pay more for 9-16, and so on. The software part gets expensive quick. Also, be aware that Xiotech charges about three times the off-the-shelf price for drives and they won't let you use off-the-shelf drives or you void your warranty and get no support. They certainly make their money on the drives.
HP/Compaq has the EVA series of disk arrays that use very similar "virtual array" technology that Xiotech uses. Again, very flexible, but expensive. At least HP doesn't make you pay more to connect more servers and the charges for drives is a little more reasonable.
It certainly seems that someone along the way forgot that RAID means Redundant Array of Inexpensive Disks. The whole point is to make a bunch of relatively unreliable disks into a very reliable whole, unless you just want speed and don't need the reliability.
If you're thinking about a two or three server cluster and just need shared storage where you can add more drives, you might look at some of the small and inexpensive rackmount IDE RAID solutions that are available with Fibre Channel and a FC hub, but be sure to get references and see who's using the things and what their experience has been. You can get two terabytes for under 15,000, but some of these are good yet inexpensive and some of them are just cheap junk.
These IDE RAID solutions do not provide the advanced features of a virtualized SAN, like changing RAID types on the fly (from RAID 5 to RAID 10, for example). However, you could easily spend 60,000+ on a Xiotech SAN or you could spend the same amount and have eight terabytes in four IDE RAID modules. Your choice, but for a small shop, I say get the eight terabytes and setup mirroring across two of these RAID boxes.
This doesn't do specifically what you're asking, but it may be useful to you, even if only for fun.
Open Terminal and enter the following command.
defaults write com.apple.CoreGraphics DisplayUseInvertedPolarity -bool YES
This command sets a preference that reverses all color polarity on the screen (like a photographic negative). I think you'll have to reboot or at least log out and back in to see the results. Of course, changing the -bool YES to -bool NO will return your display back to normal.
I believe that neither I nor Vivato say they developed phased-array technology, just a product that uses phased-array antenna technology to do 802.1x.
The answer is to use something like the "wireless switch" that Vivato developed, which uses phased-array antenna technology and can give the full 11 Mbps 802.11b bandwidth to each client.
I don't have a comparison site, but I can give you one...
Operating temperature: -20 to +60C (-4 to +140F)
Storage temperature: -55 to +75C (-67 to +167F)
http://www.itronix.com/products/notebooks/goboo
http://www.itronix.com/upload/specifications/us
Of course, this sort of key issue has already been recognized and solved by the open-source community. You should at least take a look at the Andrew Filesystem which would provide one file sharing system across all your machines. Another good and reliable alternative it to use a Macintosh as a central file repository, since MacOS now comes pre-configured with Samba, NFS, and AFP file sharing.
If you're looking for durable, go with the GoBook MAX. It's made out of very tough materials and you can just hose it down if it gets dirty. Otherwise, I can't help you since I bought a PowerBook.
I suppose it makes sense for Novell to defend Linux (and UNIX) since many of the services provided by NetWare 7 will also be available for Linux!
For those who are willing and able to learn about network security, I encourage them to learn as much as possible and talk to as many people as possible about security. Many of your are correct, a firewall alone does not make a secure system.
However, for the average person, who thinks of their computer the same as a video recorder or microwave oven (that you shold plug it in and it should just work), these people need a secure home operating system, designed by experts to be as secure as possible without preventing reasonable use.
Personally, I would like to see a dual-personality OS for home use. One side would be Entertainment OS (EOS) for the kids and serious gamers and for watching movies or listening to music. The other side is for typical "home office" use. It would be secure and focus on 2-D applications. This side should be secured even against the EOS side.
The cheapest solution (green too) that I can think of is to move underground. Have you ever been in a cave? Once you get about six feet underground the temperature never changes. It's always nicely cool. Some caves even come with filtered running mineral water. Bonus!
Once underground, your only real environmental problem is lighting, for which you should use fibre optics and solar collectors during the day and use LED lighting powered by batteries when the sun is not out. Oh, and charge the batteries using solar too.
If there are no caves on the market in your area, just bury your house. Remember, the dirt needs to be at least three feet thick, but you will reach a point of diminishing returns at around five or six feet so there's no need to waste your money and labor on extra dirt. Where you get the dirt is up to you, but please ask your neighbor before digging in their yard!
Note: author not responsible for damage to buried houses
How do you rebuild a country without decent communication?
It seems pretty obvious from most of the posts here that few people understand why there are more men than women in computing. Many of the posts show gross insensitivity and a serious lack of understanding or compassion, which might have something to do with it.
I would like to see a women's group get together and research this topic and then publish the results on the web. I think only women will be able to really say why they don't currently like CS and what would need to change for them to become interested.
By the way, in the Space Shuttle software group, it's about 50% women. I think everyone who works for the group, both men and women, is married and they also work only 8am to 5pm, no overtime. If more programming jobs were like that, I think you'd see more programmers in general, both men and women. A 60-80 hour work week is just no fun for the average person, especially if they have children or a social life.
As with the military, certain things must change in the computing world to accomodate more women. Many of the suggestions I've seen have been based on guesswork. I'd love to see serious discussion and suggestions from women who've chosen to leave CS for something else.
I've seen a few posts saying that Access isn't designed for multi-user databases. It would be more acccurate to say it is not optimized for that function, but is fully capable of it.
You must carefully construct the Access database specifically for shared access; it doesn't do that by default. If your average user created the database, then it is NOT configured for multi-user access.
I created a small Access database that is used by around 40-50 people and the MDB file is shared from a NetWare server for security. You have to setup an Access "workgroup" and "join" that workgroup from each machine and have people login to the database. It does allow for some access control and does do record-level locking.
In short, I think you're having data access conflicts because your databases are not configured for multi-user access.
Apple just released Sun's Java 1.4.1 engine for MacOS. I figured since MacOS is a *BSD, then this doesn't really qualify as a separate OS. hehe.
I grabbed 10.2.4 as soon as it came out.. indeed, even before it was mentioned on Slashdot! I have not seen any of the problems mentioned.
Though the httpd.conf file was probably replaced, I wouldn't have noticed since this is a laptop and I don't use Apache very often.
Microsoft is always trying to force us into using their own software for everything, even when they do not have a good solution and they make it very difficult to effectively use the products of other companies. Microsoft only makes people angry when they do things like this.
Microsoft does not have a solution for everything, nor does Sun, Apple, Novell, Oracle, or any other company. Interoperability and compatibility are essential and the easier it is for us to integrate one company's products with those of other companies, the more we like and will use those products.
If Microsoft would make their products more compatible, accept responsibility for security, and provide more flexible and less extortive licensing, it would go a long way toward making Microsoft the company many of us want it to be.
This website shows several flight data recorders that have been used in military aircraft and the Space Shuttle.