Every job that involves sitting at a computer or talking on the phone is in jeopardy. The IT of many companies is the heart of the company. If you move the IT, sooner or later, you'll move the other jobs with it.
This is an important political issue. L-1 visas and H-1B visas are being abused in this country. But for these shenanigans being played with our laws and borders, there would be no discussion of "economics."
By flooding the local market with low paid L-1 visa holders and less low paid (but still indentured and uncompetitively paid) H-1B holders, we are simply "training replacements" for the United States itself.
Excellent article. Your article also sites the Hardin paper The Tragedy of the Commons. That article is also good recommended reading.
Hardin discusses what happens when everyone's individual interests are optimized by exploiting a common -- until the common is destroyed. It's a standard pattern of human behavior, IMHO, and is useful in analyzing any situation involving something held in common. I use it for software architecture ideas, for example.
As usual with Hardin, he brings in diverse topics like game theory, economics, politics, etc.
Has anyone put together a nice XML Schema schema for albums? It's a hassle to try to piece together tracks of albums one at a time from the net.
The data model for MP3 metadata is missing the music domain concept of album and technical concept of object ID... among other things. That makes it impossible, for example, to buy a CD and then get your backup copy of the album on-line.
ID3 tags are nice, and CDDB signatures are nice, but they are incomplete.
Microsoft divides these three parties. Java unites them. With J2EE open source implementations like JBoss and the wonderful Apache and TIS, the free Unices have a complete, open source enterprise software stack.
Linux and BSD people, please stop fighting Java. It's the best friend you have.
You are wrong about your optimization comment. Another response to your misstatement called you a name and was moderated down as Flamebait.
However, their essential point was correct. Java bytecodes contain virtually everything that is in the Java source code. Java optimization potential is optimal.
All of the Java platform specifications are open specifications. They can all be independently implemented, but changing the specifications requires going through the Java Community Process.
In the current software economy, standards are no better than open specifications.
Look at HTML and you will see all you need to see about standards.
What matters more, the HTML standard or what Microsoft decides to put in Internet Explorer? Microsoft has effectively overruled the standard.
So please don't think that by submitting portions of.Net for standardization that Microsoft is being altruistic. Microsoft simply knows that they can dominate the standard in ECMA or ANSI and overrule the standard if it becomes a business necessity.
The Java specifications are immune to being hijacked by Microsoft while, at the same time, being very open to change by third parties. The CLR and.Net would not even exist were it not for Sun's use of open specifications and its defense of Java's open platform business message.
You will be waiting a long time for.Net to be viable on FreeBSD. It will probably never happen. It's just Microsofts way of dividing the free Unix community, in my opinion.
1. A JVM (or CLR) is needed to allow the creation of applications (as opposed to applets/ActiveX) that run in a security sandbox (as opposed to on the bare machine) with dynamic classloading and garbage collection. These things are indispensible.
Without a JVM (er CLR) Microsoft's developer base would continue its trend and dwindle to nothing except developers who couldn't adapt to Java -- i.e., lousy developers. I'll bet there is already a lot of that effect already. There has been a giant sucking sound in PowerBuilder, Visual Basic, and Visual C++ development as most of the prime developers scooted over to Java to see what was going on. I'll bet there are a lot of Microsoft developers out there working in Java who are now a version or two behind in their Microsoft development platforms.
Microsoft needs them back.
2. The CLR and C# are not about supporting platform independence, either at the OS or hardware layer. Please. It's ridiculous to think that Microsoft is going to do anything to undermine Windows. And Windows is not going to depart from Intel.
Anyone remember a little thing called the Alpha? What a catastrophe NT on Alpha was for poor DEC (now poor Compaq). Lots of businesses bought those cross-platform "Windows Alphas" too and they now regret it.
Nope. It's Wintel all the way for Microsoft for the foreseeable future.
Listen up Linux people. This is the same old trick.
Microsoft mouths the words "platform independent" and "open standard" to counteract their sales vulnerability to fears of vendor lock-in. Then the platform independent version just never shows up. It's always "in development by some third party" and never sees the light of day. Are you still waiting for the non-Windows version of DCOM and DNA?
This time, the chumps are the Linux community. Miguel De Icaza blew it with Gnome and now he's about to (help) blow it for all of Linux.
3. Java is an "open specification" but not an "open standard." That's a distinction that only matters to propagandists. Most people don't know the difference, so they complain noisily about the Java platform not being a standard.
In essence, with an open specification, anyone can write an implementation, they just can't change the specification. Sun's open specifications are extremely open to change though -- through the extremely open Java Community Process. The specifications are open to change but not hijacking.
Sun was very wise not to give up control of the Java specification. Had they ceded control to a standards body, Java would have been slowed down, absorbed, and fragmented by Microsoft.
Look at what has happened to HTML, the other major non-Microsoft platform. The W3C is now begging to get back in the game on HTML -- and it's their own game. Without Mozilla, the W3C would now be completely irrelevant. Microsoft would own the only meaningful definition of HTML (like they don't already).
4. Where's the source code?
With Java, you can look at the source code of all of the standard API implementations. It's gorgeous code that you can step into with your debugger. That will never, ever happen with Microsoft. It would undermine their ability to exploit hidden API capabilities to leverage their OS mononopoly against third party software vendors.
5. In the final analysis, the battle is between the J2EE and.Net. It's the mother of the battle between IE and Netscape.
Like Netscape, J2EE is in the driver's seat. It is hands down the most widely adopted, most diversely implemented platform to date.
This is not about religion. It's about money. The main thing people like about Linux is its price tag. Microsofts.Net strategy is all about supporting the Windows price tag and wiping out other platforms..Net is pitting itself against J2EE in the enterprise layer and continues to fight Linux and open source at the lower layers.
.Net is not going to be on any other platforms or OSes any time soon. Please snap out of it. Linux people who fight Java and J2EE should reconsider.
JBoss on Linux is the open source platform of the future in my opinion.
The best thing Bombadil does in the books is put on the ring. Nothing happens... He just laughs. Later, the Council discusses leaving the ring with Bombadil as opposed to destroying it. It's discussed as if it might work (!).
I think of Bombadil as a singularity, almost like the avatar of Tolkien himself in the book. Tom Bombadil's almost offhand rescues of the Hobbits are not critical to the story, but Bombadil is important to the world of Middle Earth.
Nevertheless, I can't wait to see this movie. I can't remember ever seeing reviews this good.
Cheers for Lindows, but we should keep our eyes on the ball and support legal remedies with letters/e-mail and with votes. Otherwise you get the image of a bunch of programmers slaving away at something (like Wine) that never quite matures. It's always struck me that programmers, who love systems as few do, show disdain for the legal and political systems.
Microsoft's lock-in of customers and developers is based solely on its illegal monopoly. In the plainest possible terms, the lock-in is a violation of the rights of software customers and competitors. Customes suffer through reduced innovation and competition by software providers. Competitors suffer because Microsoft uses the Windows/Office fortress to terrorize the entire software community.
Microsoft's illegal behavior results in great harm, and that harm can only be stopped and remedied through legal and regulatory means. If Lindows and Wine manage to capture any important portion of the desktop, it will be ten years out. (Heck, Windows XP won't even capture the desktop completely for four or five years!)
I personally don't feel like waiting ten years for a maybe. I support anyone who supports strong sanctions against the Microsoft monopoly. I don't buy Microsoft unless I have to. (I wouldn't have an XBox in my house if they were giving them away.)
The article doesn't address whether all of the premium content becomes free once archived. I certainly hope it does. I think it's important for Salon's influential content to be widely available for reference use (linking) in other on-line content.
It would be a shame if other authors on the Web could not link to an important Salon article. Linking is practically the definition of influence on the Web (ask Google). Influence makes Salon more attractive to subscribers, and so on.
Ready for a rack in my living room
on
XBox Released
·
· Score: 1
Personally, I'm pretty sick of all of these dumb box geometries. Why not just standardize on the 19" rack, maybe 4 feet high and woodgrained. Then make the boxes conform to 19" rack standards. Couldn't we just do that?
No, or course not. I have to find floor space for a stupid fake-heat-sink-finned cube or cabinet space for a sideways sitting parallelepiped. I just want to have components again. Is that too much to ask?
I've been using JBoss for over a year now. It's full featured, is very fast, has a small footprint, and is just generally a brilliant piece of work. Enhydra Enterprise was a long-term vaporware effort -- at least until recently. There were alphas and betas for over a year, but it just never seemed to become ready.
In addition, JBoss is elegant. It is modular and based on JMX. You can plug in new modules and your own code ridiculously easily. JBoss also requires no assembly/deployment phase for EJBs. It's just brilliant.
JBoss has a very active, dedicated bunch of J2EE gurus building it and answering questions in its forums and on mailing lists. The development activity on JBoss seems very high, and the users and developers are very accessible. Enhydra's forums always seemed stale and not very helpful. To me, it has always looked like all of the best people were working on JBoss while Enhydra was just sort of sitting there.
We use JBoss as our main J2EE development platform and deploy either on JBoss or one of the commercial J2EE servers. JBoss starts up fast, hot deploys web applications, EJBs, and connector resources with lightning speed. It comes with standard, easy integration to Tomcat. We're very happy with it.
I think JBoss just won. I also happen to think it would be a great addition to any standard Linux distribution... but that might be offtopic.
It's better to overdo government snooping and civil liberty restrictions now. If further acts of terrorism occur, it is better that they occur with the restrictions and privacy invasions in place. That way it will be possible to say that they were tried and failed.
If we argue now that it makes no sense to do random body cavity searches on, say, chipmunks, then heaven help us. If and when the next terrorist act occurs, there would be scores of hysterics screaming that "chipmunk lovers" had tied the hands of law enforcement.
Perhaps I should have said, "although it may sound naive to the point of bathos, security automation could make the world a freer place and a place more tolerant of non-conformity.";-)
You ask who would control the system. My answer is that the database would be controlled by the government -- which would in turn be controlled by the database.
The most effective check on government is to control its information systems. It's hard to imagine a better check on government than to democratically legislate the principles of the software the government uses. Big corporations are controlled by their software willingly. Government is more and more that way too. The modern population scale and velocity of money demand the use of computers and computer-organized processes.
No, I'm not arguing for something out of the movie "Brazil."
The right to complete anonymity is going to be a thing of the past, in my opinion, and that may be for the best. Your "permanent record" will be attached to your identity, and your identity will be bound to your natural credentials such as facial characteristics, retinal scans, and genetic fingerprints. Strangely, this could make the world a freer place and a place more tolerant of non-conformity.
Real world security is no different from network security really. You try to protect vulnerable systems from unauthorized access and damage. To accomplish that, you use identity-establishing mechanisms, authentication procedures, and security policies (or laws). These things have been around forever, but technology is making them a whole heck of a lot more efficient -- and we probably need it.
Picture a world in which everyone is genetically fingerprinted and face printed. Seems scary, of course, but picture it. There would be cameras everywhere tracking your whereabouts by signalling your location to a giant database. If an authorized agent of the government wanted to know where you've been, who you were with, and who they were with, etc., it would be a simple query.
Just about any crime that involves even so much as a lost hair or a few skin cells would be immediately, conclusively solved. Would-be hijackers would lose their right to fly the minute they had lunch with bin Laden's stepsister's cousin. O.J. would not be golfing.
People would commit fewer crimes and would shun those who do. In short, it would once again be like living in a small isolated village where everyone knows everyone else.
How do you prevent abuse of the system? First ask yourself if it is easier to control a well-defined system or a pell mell system like we currently have. If the system were well defined, you would have the right, as in credit reporting, to dispute your record and to know what it is.
You wouldn't have government officials asserting that someone was "linked" to something by who knows what vague circumstance. The database would be authoritative and objective. If you were caught on camera on more than one occasion with someone, that's a link. If that someone later proves to be Timothy McVeigh, yes, you have some explaining to do.
A (legislatively and technologically) well-defined automated system of identification, authentication, authorization, and tracking might better protect freedoms than the current hodgepodge of manual and automated systems. The current system of law enforcement is way, way too subject to abuse by its all-too-human participants. Keeping someone off of a flight because they look "Arabic" is discrimination. Keeping someone off of the same flight because they had lunch with bin Laden's stepsister's cousin is reasonable.
Would security automation make it difficult to speed, throw your cigarette butts out of your car window, smoke marijuana, hire a prostitute, dump your car battery in the river, etc.? Yes. But if you don't like the laws, change the laws or the penalties for breaking them. There would still be a democracy to enact the laws and a system of human courts to exercise discretion.
The freedoms of nonconformists and minorities would probably be better protected under a better automated security system than under the current semi-automated system. There would be less of a tendency to "profile" people if we knew their real identities, their track record, and whether they were dangerous to us as individuals. It is anonymity that forces us to generalize about others in my opinion.
Joe tries to encrypt his e-mail using the recipient's public key (or a secretly exchanged key for other types of encryption). Before the software encrypts the message, a check is made to ensure that the decrypting key is escrowed with the government. For example, the key could be digitally signed by the government or perhaps the government would insist on generating all keys.
Using an unescrowed key for encryption would be illegal. I.e., if the government can't figure out what Joe's e-mail contains, he can be arrested, deported, etc.
I'm not saying that I'm for that or that it would be constitutional. It seems possible, though.
Java is the escape hatch for people looking to get out of Microsoft's pay-for-your-air universe. Write your free and pay software in Java so that it runs on both M$ and Linux. Then the customer doesn't lose anything by leaving M$ behind.
There is no good reason to write GUI-less server side code in anything but Java. The Perl and C++ folks need to look around and see that there is nothing in Perl or C++ comparable to the J2EE framework.
By the time most good software has migrated to Java (look at Netbeans as a starting point), Linux may finally have sorted out its desktop. Having two main desktops -- both of them amateurish and geeky compared to Windows -- is a major embarassment.
Anyone notice any major changes in desktop functionality in Windows lately? GUI technology, usability guidelines, and aesthetics have begun to peak. Successive refinements are less and less noticeable.
Mac and Windows don't have much more to add with each subsequent release. Linux improves by leaps and bounds in each release because, let's face it, it has more room for improvement.
The gap between Linux and Mac/Windows is closing. The commercial GUI desktops are out of runway, and they are basically sitting ducks. It's only a matter of time.
Dust off the wallet and buy Oracle on Linux or whatever OS you want. You can use an Access front end on an Oracle back end for small projects. I.e., you use Access for the GUI and reports and Oracle for all of the tables and stored procedures. This can be very, very effective in terms of getting up and running quickly.
To do it, you have to use an ODBC driver appropriate to your database back end. In the Oracle case, you can install Oracle's Windows client distro on every host that will be running your Access application. Then you create an Oracle ODBC data source with the same name on every client system, say "mySource." Point your Access application at mySource, link in the Oracle tables and, voila, you have a very nice ad hoc two-tier client/server application.
You share the application by putting the Access mdb file on a share.
Don't expect it to scale, though, and you will find it a major nuisance to install the Oracle client on so many Windows machines. I don't know that a MySql, PostgresSQL, or Interbase client distribution even exists to provide the necessary Windows ODBC driver to make this work. If drivers exist, I see no harm in using one of these databases for the back end. (Incidentally, MS SQL Server ODBC drivers are standard in the Windows OSes, so if you go with SQL Server, there is no need to install third party drivers. Imagine that.;-))
If you need something Enterprise strength, go with Java 2 EE and something like JBoss/Tomcat. In my view, J2EE is unbeatable. It's both the end of Microsoft's enterprise aspirations and a great tool for saving Linux from itself.
The best reason to make major changes is to get unstable code to stability right away, not in the future. Sometimes a piece of code is not merely buggy but incomplete or too hurriedly written to be "stable." This is especially true in new products created in a hurry by unseasoned staff.
Unstable code produces multiple defect reports in short order, and the reports just keep rolling in. One programmer's bug fix will unfix the work of another. Code of this type has to be rewritten or it will never converge on production quality. The programmer tells the manager "This will never work if we leave it like this!"
Trying to tell a manager that you are going to save them time in the long run is certain to fail -- and rightly so. Code that misses schedule often has no long run to worry about. Tell managers that without a refactoring, the code is unstable now, and that not fixing it will leave them with egg on their faces immediately on release.
If you are a senior programmer who designed the interfaces, classes, and data model of a subsystem, you are in a good position to tell if an implementation of your design is workable. The best time to tell, though, is in a walkthrough before major unit testing. Once software gets past unit testing, a manager will mark it "done" and any rewrite will be a major source off annoyance.
Every job that involves sitting at a computer or talking on the phone is in jeopardy. The IT of many companies is the heart of the company. If you move the IT, sooner or later, you'll move the other jobs with it.
This is an important political issue. L-1 visas and H-1B visas are being abused in this country. But for these shenanigans being played with our laws and borders, there would be no discussion of "economics."
By flooding the local market with low paid L-1 visa holders and less low paid (but still indentured and uncompetitively paid) H-1B holders, we are simply "training replacements" for the United States itself.
Hardin discusses what happens when everyone's individual interests are optimized by exploiting a common -- until the common is destroyed. It's a standard pattern of human behavior, IMHO, and is useful in analyzing any situation involving something held in common. I use it for software architecture ideas, for example.
As usual with Hardin, he brings in diverse topics like game theory, economics, politics, etc.
Has anyone put together a nice XML Schema schema for albums? It's a hassle to try to piece together tracks of albums one at a time from the net.
... among other things. That makes it impossible, for example, to buy a CD and then get your backup copy of the album on-line.
The data model for MP3 metadata is missing the music domain concept of album and technical concept of object ID
ID3 tags are nice, and CDDB signatures are nice, but they are incomplete.
Read the essay Why the Future Doesn't Need Us. It made a big splash a couple of years ago, and was ahead of its time.
He wrote the essay almost two years ago. (First post didn't get the link right, although it looked OK in the preview.)
Joy called this almost two years ago. Read the essay, Why the Future Doesn't Need Us."
Microsoft divides these three parties. Java unites them. With J2EE open source implementations like JBoss and the wonderful Apache and TIS, the free Unices have a complete, open source enterprise software stack.
Linux and BSD people, please stop fighting Java. It's the best friend you have.
You are wrong about your optimization comment. Another response to your misstatement called you a name and was moderated down as Flamebait.
However, their essential point was correct. Java bytecodes contain virtually everything that is in the Java source code. Java optimization potential is optimal.
All of the Java platform specifications are open specifications. They can all be independently implemented, but changing the specifications requires going through the Java Community Process.
.Net for standardization that Microsoft is being altruistic. Microsoft simply knows that they can dominate the standard in ECMA or ANSI and overrule the standard if it becomes a business necessity.
.Net would not even exist were it not for Sun's use of open specifications and its defense of Java's open platform business message.
.Net to be viable on FreeBSD. It will probably never happen. It's just Microsofts way of dividing the free Unix community, in my opinion.
In the current software economy, standards are no better than open specifications.
Look at HTML and you will see all you need to see about standards.
What matters more, the HTML standard or what Microsoft decides to put in Internet Explorer? Microsoft has effectively overruled the standard.
So please don't think that by submitting portions of
The Java specifications are immune to being hijacked by Microsoft while, at the same time, being very open to change by third parties. The CLR and
You will be waiting a long time for
Some points:
.Net. It's the mother of the battle between IE and Netscape.
.Net strategy is all about supporting the Windows price tag and wiping out other platforms. .Net is pitting itself against J2EE in the enterprise layer and continues to fight Linux and open source at the lower layers.
1. A JVM (or CLR) is needed to allow the creation of applications (as opposed to applets/ActiveX) that run in a security sandbox (as opposed to on the bare machine) with dynamic classloading and garbage collection. These things are indispensible.
Without a JVM (er CLR) Microsoft's developer base would continue its trend and dwindle to nothing except developers who couldn't adapt to Java -- i.e., lousy developers. I'll bet there is already a lot of that effect already. There has been a giant sucking sound in PowerBuilder, Visual Basic, and Visual C++ development as most of the prime developers scooted over to Java to see what was going on. I'll bet there are a lot of Microsoft developers out there working in Java who are now a version or two behind in their Microsoft development platforms.
Microsoft needs them back.
2. The CLR and C# are not about supporting platform independence, either at the OS or hardware layer. Please. It's ridiculous to think that Microsoft is going to do anything to undermine Windows. And Windows is not going to depart from Intel.
Anyone remember a little thing called the Alpha? What a catastrophe NT on Alpha was for poor DEC (now poor Compaq). Lots of businesses bought those cross-platform "Windows Alphas" too and they now regret it.
Nope. It's Wintel all the way for Microsoft for the foreseeable future.
Listen up Linux people. This is the same old trick.
Microsoft mouths the words "platform independent" and "open standard" to counteract their sales vulnerability to fears of vendor lock-in. Then the platform independent version just never shows up. It's always "in development by some third party" and never sees the light of day. Are you still waiting for the non-Windows version of DCOM and DNA?
This time, the chumps are the Linux community. Miguel De Icaza blew it with Gnome and now he's about to (help) blow it for all of Linux.
3. Java is an "open specification" but not an "open standard." That's a distinction that only matters to propagandists. Most people don't know the difference, so they complain noisily about the Java platform not being a standard.
In essence, with an open specification, anyone can write an implementation, they just can't change the specification. Sun's open specifications are extremely open to change though -- through the extremely open Java Community Process. The specifications are open to change but not hijacking.
Sun was very wise not to give up control of the Java specification. Had they ceded control to a standards body, Java would have been slowed down, absorbed, and fragmented by Microsoft.
Look at what has happened to HTML, the other major non-Microsoft platform. The W3C is now begging to get back in the game on HTML -- and it's their own game. Without Mozilla, the W3C would now be completely irrelevant. Microsoft would own the only meaningful definition of HTML (like they don't already).
4. Where's the source code?
With Java, you can look at the source code of all of the standard API implementations. It's gorgeous code that you can step into with your debugger. That will never, ever happen with Microsoft. It would undermine their ability to exploit hidden API capabilities to leverage their OS mononopoly against third party software vendors.
5. In the final analysis, the battle is between the J2EE and
Like Netscape, J2EE is in the driver's seat. It is hands down the most widely adopted, most diversely implemented platform to date.
This is not about religion. It's about money. The main thing people like about Linux is its price tag. Microsofts
.Net is not going to be on any other platforms or OSes any time soon. Please snap out of it. Linux people who fight Java and J2EE should reconsider.
JBoss on Linux is the open source platform of the future in my opinion.
The best thing Bombadil does in the books is put on the ring. Nothing happens ... He just laughs. Later, the Council discusses leaving the ring with Bombadil as opposed to destroying it. It's discussed as if it might work (!).
I think of Bombadil as a singularity, almost like the avatar of Tolkien himself in the book. Tom Bombadil's almost offhand rescues of the Hobbits are not critical to the story, but Bombadil is important to the world of Middle Earth.
Nevertheless, I can't wait to see this movie. I can't remember ever seeing reviews this good.
Cheers for Lindows, but we should keep our eyes on the ball and support legal remedies with letters/e-mail and with votes. Otherwise you get the image of a bunch of programmers slaving away at something (like Wine) that never quite matures. It's always struck me that programmers, who love systems as few do, show disdain for the legal and political systems.
Microsoft's lock-in of customers and developers is based solely on its illegal monopoly. In the plainest possible terms, the lock-in is a violation of the rights of software customers and competitors. Customes suffer through reduced innovation and competition by software providers. Competitors suffer because Microsoft uses the Windows/Office fortress to terrorize the entire software community.
Microsoft's illegal behavior results in great harm, and that harm can only be stopped and remedied through legal and regulatory means. If Lindows and Wine manage to capture any important portion of the desktop, it will be ten years out. (Heck, Windows XP won't even capture the desktop completely for four or five years!)
I personally don't feel like waiting ten years for a maybe. I support anyone who supports strong sanctions against the Microsoft monopoly. I don't buy Microsoft unless I have to. (I wouldn't have an XBox in my house if they were giving them away.)
The article doesn't address whether all of the premium content becomes free once archived. I certainly hope it does. I think it's important for Salon's influential content to be widely available for reference use (linking) in other on-line content.
It would be a shame if other authors on the Web could not link to an important Salon article. Linking is practically the definition of influence on the Web (ask Google). Influence makes Salon more attractive to subscribers, and so on.
Personally, I'm pretty sick of all of these dumb box geometries. Why not just standardize on the 19" rack, maybe 4 feet high and woodgrained. Then make the boxes conform to 19" rack standards. Couldn't we just do that?
No, or course not. I have to find floor space for a stupid fake-heat-sink-finned cube or cabinet space for a sideways sitting parallelepiped. I just want to have components again. Is that too much to ask?
I've been using JBoss for over a year now. It's full featured, is very fast, has a small footprint, and is just generally a brilliant piece of work. Enhydra Enterprise was a long-term vaporware effort -- at least until recently. There were alphas and betas for over a year, but it just never seemed to become ready.
In addition, JBoss is elegant. It is modular and based on JMX. You can plug in new modules and your own code ridiculously easily. JBoss also requires no assembly/deployment phase for EJBs. It's just brilliant.
JBoss has a very active, dedicated bunch of J2EE gurus building it and answering questions in its forums and on mailing lists. The development activity on JBoss seems very high, and the users and developers are very accessible. Enhydra's forums always seemed stale and not very helpful. To me, it has always looked like all of the best people were working on JBoss while Enhydra was just sort of sitting there.
We use JBoss as our main J2EE development platform and deploy either on JBoss or one of the commercial J2EE servers. JBoss starts up fast, hot deploys web applications, EJBs, and connector resources with lightning speed. It comes with standard, easy integration to Tomcat. We're very happy with it.
I think JBoss just won. I also happen to think it would be a great addition to any standard Linux distribution... but that might be offtopic.
It's better to overdo government snooping and civil liberty restrictions now. If further acts of terrorism occur, it is better that they occur with the restrictions and privacy invasions in place. That way it will be possible to say that they were tried and failed.
If we argue now that it makes no sense to do random body cavity searches on, say, chipmunks, then heaven help us. If and when the next terrorist act occurs, there would be scores of hysterics screaming that "chipmunk lovers" had tied the hands of law enforcement.
Perhaps I should have said, "although it may sound naive to the point of bathos, security automation could make the world a freer place and a place more tolerant of non-conformity." ;-)
You ask who would control the system. My answer is that the database would be controlled by the government -- which would in turn be controlled by the database.
The most effective check on government is to control its information systems. It's hard to imagine a better check on government than to democratically legislate the principles of the software the government uses. Big corporations are controlled by their software willingly. Government is more and more that way too. The modern population scale and velocity of money demand the use of computers and computer-organized processes.
No, I'm not arguing for something out of the movie "Brazil."
Gotta go.
The right to complete anonymity is going to be a thing of the past, in my opinion, and that may be for the best. Your "permanent record" will be attached to your identity, and your identity will be bound to your natural credentials such as facial characteristics, retinal scans, and genetic fingerprints. Strangely, this could make the world a freer place and a place more tolerant of non-conformity.
Real world security is no different from network security really. You try to protect vulnerable systems from unauthorized access and damage. To accomplish that, you use identity-establishing mechanisms, authentication procedures, and security policies (or laws). These things have been around forever, but technology is making them a whole heck of a lot more efficient -- and we probably need it.
Picture a world in which everyone is genetically fingerprinted and face printed. Seems scary, of course, but picture it. There would be cameras everywhere tracking your whereabouts by signalling your location to a giant database. If an authorized agent of the government wanted to know where you've been, who you were with, and who they were with, etc., it would be a simple query.
Just about any crime that involves even so much as a lost hair or a few skin cells would be immediately, conclusively solved. Would-be hijackers would lose their right to fly the minute they had lunch with bin Laden's stepsister's cousin. O.J. would not be golfing.
People would commit fewer crimes and would shun those who do. In short, it would once again be like living in a small isolated village where everyone knows everyone else.
How do you prevent abuse of the system? First ask yourself if it is easier to control a well-defined system or a pell mell system like we currently have. If the system were well defined, you would have the right, as in credit reporting, to dispute your record and to know what it is.
You wouldn't have government officials asserting that someone was "linked" to something by who knows what vague circumstance. The database would be authoritative and objective. If you were caught on camera on more than one occasion with someone, that's a link. If that someone later proves to be Timothy McVeigh, yes, you have some explaining to do.
A (legislatively and technologically) well-defined automated system of identification, authentication, authorization, and tracking might better protect freedoms than the current hodgepodge of manual and automated systems. The current system of law enforcement is way, way too subject to abuse by its all-too-human participants. Keeping someone off of a flight because they look "Arabic" is discrimination. Keeping someone off of the same flight because they had lunch with bin Laden's stepsister's cousin is reasonable.
Would security automation make it difficult to speed, throw your cigarette butts out of your car window, smoke marijuana, hire a prostitute, dump your car battery in the river, etc.? Yes. But if you don't like the laws, change the laws or the penalties for breaking them. There would still be a democracy to enact the laws and a system of human courts to exercise discretion.
The freedoms of nonconformists and minorities would probably be better protected under a better automated security system than under the current semi-automated system. There would be less of a tendency to "profile" people if we knew their real identities, their track record, and whether they were dangerous to us as individuals. It is anonymity that forces us to generalize about others in my opinion.
The backdoor could work this way.
Joe tries to encrypt his e-mail using the recipient's public key (or a secretly exchanged key for other types of encryption). Before the software encrypts the message, a check is made to ensure that the decrypting key is escrowed with the government. For example, the key could be digitally signed by the government or perhaps the government would insist on generating all keys.
Using an unescrowed key for encryption would be illegal. I.e., if the government can't figure out what Joe's e-mail contains, he can be arrested, deported, etc.
I'm not saying that I'm for that or that it would be constitutional. It seems possible, though.
Java is the escape hatch for people looking to get out of Microsoft's pay-for-your-air universe. Write your free and pay software in Java so that it runs on both M$ and Linux. Then the customer doesn't lose anything by leaving M$ behind.
There is no good reason to write GUI-less server side code in anything but Java. The Perl and C++ folks need to look around and see that there is nothing in Perl or C++ comparable to the J2EE framework.
By the time most good software has migrated to Java (look at Netbeans as a starting point), Linux may finally have sorted out its desktop. Having two main desktops -- both of them amateurish and geeky compared to Windows -- is a major embarassment.
Mac and Windows don't have much more to add with each subsequent release. Linux improves by leaps and bounds in each release because, let's face it, it has more room for improvement.
The gap between Linux and Mac/Windows is closing. The commercial GUI desktops are out of runway, and they are basically sitting ducks. It's only a matter of time.
To do it, you have to use an ODBC driver appropriate to your database back end. In the Oracle case, you can install Oracle's Windows client distro on every host that will be running your Access application. Then you create an Oracle ODBC data source with the same name on every client system, say "mySource." Point your Access application at mySource, link in the Oracle tables and, voila, you have a very nice ad hoc two-tier client/server application.
You share the application by putting the Access mdb file on a share.
Don't expect it to scale, though, and you will find it a major nuisance to install the Oracle client on so many Windows machines. I don't know that a MySql, PostgresSQL, or Interbase client distribution even exists to provide the necessary Windows ODBC driver to make this work. If drivers exist, I see no harm in using one of these databases for the back end. (Incidentally, MS SQL Server ODBC drivers are standard in the Windows OSes, so if you go with SQL Server, there is no need to install third party drivers. Imagine that. ;-))
If you need something Enterprise strength, go with Java 2 EE and something like JBoss/Tomcat. In my view, J2EE is unbeatable. It's both the end of Microsoft's enterprise aspirations and a great tool for saving Linux from itself.
Unstable code produces multiple defect reports in short order, and the reports just keep rolling in. One programmer's bug fix will unfix the work of another. Code of this type has to be rewritten or it will never converge on production quality. The programmer tells the manager "This will never work if we leave it like this!"
Trying to tell a manager that you are going to save them time in the long run is certain to fail -- and rightly so. Code that misses schedule often has no long run to worry about. Tell managers that without a refactoring, the code is unstable now, and that not fixing it will leave them with egg on their faces immediately on release.
If you are a senior programmer who designed the interfaces, classes, and data model of a subsystem, you are in a good position to tell if an implementation of your design is workable. The best time to tell, though, is in a walkthrough before major unit testing. Once software gets past unit testing, a manager will mark it "done" and any rewrite will be a major source off annoyance.
No backup for any of that. I assume you are not of voting age yet. What's the whole process?
Are you more honest than Al Gore?