Actually, you really need both. The theory is important to get some kind of basics, and to understand where the practice comes from, so that when something goes wrong, you can fix it...
But in practice, well, theory isn't all that. The amount of people who can't use an IDE, a real time debugger, validation tools, etc, is just insane. You see companies full of these people, and it takes 5 of em to do the job of one who was trained with the tool (sprinkled with the theory).
Well, that happens all the time regardless... when I was younger, I was in a low income family, and I got my books (the ones lent by the school) stolen.
Books. Who steal freagin several years old junior highschool books? But it happened. 250$, and that was a long time ago, so you have to factory it over a decade of inflation...
It hurt like a bitch and it really sucks, but its life, and its nothing new.
Its because the goal isn't to save lives, its to have the passive majority (and lets face it, the majority of human beings aren't too bright in general) beleive you are. If you ask random people in the street what kills more people worldwide: terrorism, or hunger, they'll probably tell you terrorism (or at least would have not long after terrorist acts).
Politians are playing on that. 100 people in one location dying in one shot is a MUCH better deal to your typical everyday american than 100000 people dying in a year spread out.
Aside the obvious thing that many pointed already (is it violent games that make people violent, or violent people who like violent games in the first place?), one has to consider the benefits first:
As far as I know, the thing that puts teens and young adults in trouble the most is boredom. With the freagin attitude in this day and age that if its not "hardcore", its not worth doing, young people quickly find themselves with nothing fun or productive to do. Then they end up in drugs, fights, and all around trouble: they have to do SOMETHING with their lives, be it positive or negative.
Come in videogames: now that they aren't considered as nerdy as they were 10 years ago, a lot of these bored teens shift their attention to so called "hardcore" videogames. While they're playing, they're not out doing stupid stuff. Take the games away from them, and they'll have to do something else. Part of em will turn to sports, TV, going out with friends... part will start getting high and doing street gang stuff.
I'm sure there are SOME people who turn bad -because- of videogames. But while this is all hypothical, I'm sure for each person who turns bad because of videogames, there's 10 "bad" folks who are too busy blowing virtual heads up on XBox Live to think about which store to rob.
Would be pretty long since the decompile is only like 99% accurate (some references to external libs will come up as hexa code and such), but when you did something VB.NET specific (like the way VB.NET can handle events through syntax sugars) and are curious how it works in C# for example, it works fairly well.
Personaly I didn't see an UAC prompt on my 2 computers (work computer is on Vista too) in weeks, except when 1) using Visual Studio, which is optional and I configured it myself, because Visual Studio has system tools in it, such as controlling services from inside the IDE, of course it would need admin, 2) installing softwares available to all users of the machine, 3) reviewing the event logs.
The only time you'll get -spammed- with UAC prompt is if you put user files directly in your C drive (in vista, user folders are in C:\Users, as opposed to Documents and Settings bullcrap of XP. That was one thing I was quite jealous of from Unix-style system, as they have more sensible defaults on that one, ie:/home) so there's no reason to do it anymore even if you're lazy (in XP and 2k I would always dump stuff straight in C:\ to avoid having to navigate to my document...), or if you use programs that were coded by idiots who missed the message back when the Windows 9x line was being phased out to stop developing software that relied on admin.
MS isn't kidding when they say the worse part of windows is bad software... Without bad drivers you can go for years without ever seeing Windows crash, without bad software you can go for weeks without seeing UAC...
Java and.NET are almost like that. I mean, you need a decompiler, but the compiled bytecode is so close to the source, you can replicate the original fairly well from the bytecode, thus why many many commercial softwares ship with obfuscated binaries.
Lets make a cross-patent agreement, since I've myself already patented a way to use large bodies of hydrogen, helium and other elements in a nuclear fusion reaction out of the earth's orbit to fuel other chemical reactions.
It may not even be just that. C# (and the.NET platform in general) is basically a compromise between garbage collecting systems like java, and low level C++ type stuff... C# is definately not memory leak proof (I mean hell, you CAN do pointer arithmetic and handle memory on your own if you want).
Importantly, it has (especially in its windows incarnation) quite a few binding to non-.NET code. A lot of em. So you still need to call dispose on a lot of objects, or use the "using" block construct to make sure memory (and other ressources) get deallocated correctly in many, many cases... Its not quite as sandboxed as Java is (without external stuff).
I've honestly never seen a semi-large C# program where developers didn't omit that aspect, deallocating these objects only if they read about that particular instance in a book or something, its sad. Even heavily audited financial/bank level packages and such made by reputable software development firms.
And of course there's the other possibility which is exactly what you described, and that wouldn't supprised me either.
I agree, or at least, something similar. One argument against forcing patent holders to use the technology themselves, is because little guys with bright ideas but not enough money to implement it would get screwed, and I agree on that too.
So really, there should be a method to gauge effort in trying to get the product out of the door, even if it means actively trying to license it up front, advertising it, trying to get proofs of concepts out...-something-. That way submarine patents and patents just there to screw people over would be covered...
One would have to be very careful and consider very well each word of how that "rule" would be written...but something along that line would help... Again, if its just actively advertising it...that way at leasy one wouldnt have to go through millions of patents to see if their product is safe or not.
Well, Its probably more like someone who bought a car that was on display at the dealer and had a "Try Me" Advertisement sign that the owner never took out, in which case its more confusiong a situation...
Note: The following is not how things -are-, nor is it how -I- think, its just something to think about.
If you leave your wifi open, then obviously, people can do whatever with it. Now, obviously there's the (probably low) chance of people using it for something very, very wrong.
Now from there, if one needs to track who did the very very wrong thing (I'm not talking RIAA jokes here, but something serious under a warrant from a court), two things can happen: It was your router, you deliberately (as opposed to by mistake, though the whole "innocent until guilty" deal probably would make it hard to prove you did it on purpose, unless you had a very obvious SSID) left it open, so you're responsible for whatever happened (which is the case in some other fields in similar situation), or case 2: we cant track who did it, can't prove its you, so everyone's off the hook.
Either way, it could be seen as quite the potential problems vs the low gain. (We're not talking PATRIOT act here where people had to give up so many rights its not funny, for literally no real gain aside in the mind of delusional idiots). Thats why "it could be illegal".
Now, as far as I know, in most places its still not, but if I leave my cellphone outside (in an imaginary world where no one would steal it...I know, takes a lot of imagination) and let anyone use it, and people constantly use it for 911 pranks, well, I'm probably gonna get in trouble (if it gets genuinly stolen, its something else).
Again, this isn't my opinion by a long shot. But its a different angle to think about.
I think a heck of a lot of people forget how stupidly long it took for people to move away from the Windows 9x serie (including ME, ugh) to the NT/2k/XP line, even if you only count from the day XP came out (since the previous two werent as home oriented).
The amount of machines I had to reload 9x on during those days was crazy. "My DOS games don't work WAAAAH!".
It seems worse this time around because A) XP actually doesn't suck, like the 9x serie did, and B) it was by far the largest gap between 2 OS release from MS (I know like, easily 5-10 times more people who bought boxed Vista than I do people who used ME at -all-).
Personally, and I'll admit I'm a fan of Vista, even if you considered a dreamland (or nightmareland from Slashdot's perspective, hehe) where -everyone- thinks Vista's great, that this amount of gamers switched to an OS that has a different graphical subsystem (and thus took a while for videocards to support well and game studios don't quite understand yet) is surpassing my expectations. When I saw the article on Slashdot, before reading it, I expected the survey to say less than 10%.
They have another very nice use, that I think will make em grow a bit faster than a small niche (not mainstream soon though), is that most SS storage devices fail very reliably. That is, you should be able to tell quite precisely and well in advance when its going to fail, as opposed to hard disk which, while quite reliable compared to a few years back, are much more likely to fail at just any moment.
That makes them very, very cool to use for dedicated application servers. The company I work for sells a fairly typical web app over database solution, and the database for our average customer is around 30-50 gigs. So 1-2 of those drives and we're peachy, and we virtually never will be woken up on a saturday because of a failed hard drive (we support the hardware).
Those kind of setups are INCREDIBLY common among ISVs, and 30-50 gigs (hell, let say 100 since these SS will be bigger soon enough) is quite reasonable for single application databases that don't do much datawarehousing (again, probably far more common than terrabyte datawarehouses).
Not mainstream to the point of being ready for a home desktop mediacenter, but there's still a LOT of uses for those to push them far beyond the niche market.
I agree, in the broadest sense, OLAPs have a relational API to integrate better with relational data via some form of ETL. Inside them however, the data is not stored as relational (its duplicated like crazy with links all over the place, and is far more hierarchal than relational). Thats more the way I was seeing it. Of course, if you use something like SQL Server Analysis Service, while the data will not be stored relationaly, the GUI tools make it seem a little that way.
But a relational UI/API/Feeling doesn't really mean the system is relational. Take for example Pervasive SQL. It is a transactional database with a relational API, so while data is stored in tables with foreign and primary keys, and you certainly can apply relational database concepts to it, its going to suck big time, because its not a relational database.
Also, most (good) OLAP systems also let you push data directly to their dimentions via ETL (obviously), and that tends not to be stored relationaly, even from the API's (the user's) perspective, so if you feed the cube from a relational database using the relational ETL API, well, yeah, but its rarely the only way to do it. In previous jobs we had to feed Analysis Service with data that simply didn't fit well in relational schema, and it worked pretty good...
I totally fully understand your point, I was pushing it a bit with the OLAP thing, but I hope you can understand what I meant:) Many things are close to relational for familiarity without actually being so, and using them as if they were usually ends up being a pretty bad (and heavily common) mistake, too.
Originaly, the version of Vista that was to come out a long time ago (2003-2004 or something like that) was based on Windows XP's codebase, but as development lagged, they almost completly scrapped it and started over using Server 2003 as a base. From that enhanced Windows Server 2003, they built 2008. So while not quite correct, it would be closer to say Windows Server 2008 is based on Vista, not the other way around (since as I said, Vista was built on top, based on, the Server 2003 code).
Im not sure about the other databases, but SQL Server, as of SQL Server 2005, supports row versioning like Oracle. It is however not the default, so I assume there might be issues with it, especially with the optimistic concurrency model, but it can be turned on at any time, or on a transaction per transaction basis (as opposed to system wide).
Not sure what they did with it as of SQL Server 2008 though, maybe its default there.
I know you want Brian's answer, but I'd like to give my two cents, as I find that subject quite interesting:) OO databases, while they are still coming (many major RDBMS are going hybrid in the future, as a mean to do faster development and to abstract away things like OR Mappers), went dodo because they appeal to developers without giving too much to the people paying the checks...
But there's at least 2 other things that are heavily in the radar... OLAP systems have various non-relational ways of going around (though some are relational, faking it with star schema), and thats probably the most mainstream kind we'll see around... the fastest, most powerful OLAPs are definately not relational systems.
Secondly, there's specialised databases (which I guess OO-databases kindda ended up being in the end). Systems like Endeca's are non-relational databases that are fitted for extremely precise purposes, with tools and APIs only for that specific purpose. In the case of Endeca, they're doing a kind of data engine specialized to make web sites that allow users to search generally and then refine their queries in a user-friendly way, by only storing and returning results relevent for that (so its almost a RAD tool, in that developers have most of the work done for them if thats the kind of web app they want). From what I understand, Endeca is doing far better than OO-databases ever did, and its just one example out of many, so Im guessing thats the way of the "future".
A bit like we have general purpose CPUs, then specific purpose GPUs, physics engines, etc, we'll probably see relational databases staying around as the "general data storage engine", and more special purpose databases and datawarehouse types to handle the rest.
its not a matter of tabular vs hierarchal, its Relational vs Object based (or some such).
Basically the short answer is that the relational model has had much more time and more people working on it to mature, and a move to a different system as mainstream would have a totally insane impact on the workflow of enterprise level software development, from functional analysis to all the echosystem of tools to design and maintain applications...
On top of that, object databases are amazingly fast for quick CRUD and for hierarchal data, but when you want to do datamining, reporting, etc, its a total disaster (relational sucks at it too, thus OLAP systems that plugs in them, but thats a minority of softwares that use em, and at least relational has workarounds, such as star schemas).
Basically: It will become that way eventually (major RDBMSs like SQL Server and Oracle already have or are working on hybrid engines), but such a core change in software development paradigms takes time. Its like if you tried to mainstream a non-Object-Oriented programming language... it will take a long time. Still, has uses for niches and such.
Until then, there's ORM tools like Hibernate to bridge the concepts. And of course, there ARE douzans of Object data engines on the market...just pick. Its just not as well supported by the echosystem.
Indeed, I figured they'd have that in their TOS. A lot of sites do. So in the case where that ToS is legally valid, they'll just lose all their users instead =P
Off topic, but if you need a quick way of getting round that pesky MSN blocking exe's and zips thing, i find renaming it to say 'inoccuousfile.jpg' then sending it and renaming at the other end, seems to work a treat....
Ya. Its what I do, but still awkward because we always forget, and have to send files twice everytime:)
In Protected Mode, IE7 on Vista is genuinly sandboxed, and throws a fit if you so much as do a right click View Source (which would run an executable: notepad by default). If the browser was actually standard compliant (sometimes by the time Duke Nuken Forever and Spore comes out I guess), it would be an excellent all around browser.
Other stuff, like running an executable sent to you by MSN is so freagin hard it puzzles even me sometimes (I beleive by default you have to change something in the registery, or it simply will flag em and you'll never be able to so much as extract exes from a zip file). Thats probably pushing it too far, but point is, if you don't have the admin password, its relatively difficult to do something retarded aside to hit your own account (which is possible in any OS really, and even then, you get quite a few warnings).
Something of interest, though not really related: Once I installed some game (I forget which) that tried to install a copy protection crap, and Vista actually asked me if I wanted to install it separately from the game itself (I got 2 pop ups). Said no, and it happened that this particular game would run without the copy protection...so I was able to tell it to shoo off (while my friend on XP hosed his install because of it...a patch came out the week later to fix the issue, but I never had the problem in the first place). MS is learning. Slowly.
Actually, you really need both. The theory is important to get some kind of basics, and to understand where the practice comes from, so that when something goes wrong, you can fix it...
But in practice, well, theory isn't all that. The amount of people who can't use an IDE, a real time debugger, validation tools, etc, is just insane. You see companies full of these people, and it takes 5 of em to do the job of one who was trained with the tool (sprinkled with the theory).
Well, that happens all the time regardless... when I was younger, I was in a low income family, and I got my books (the ones lent by the school) stolen.
Books. Who steal freagin several years old junior highschool books? But it happened. 250$, and that was a long time ago, so you have to factory it over a decade of inflation...
It hurt like a bitch and it really sucks, but its life, and its nothing new.
Its because the goal isn't to save lives, its to have the passive majority (and lets face it, the majority of human beings aren't too bright in general) beleive you are. If you ask random people in the street what kills more people worldwide: terrorism, or hunger, they'll probably tell you terrorism (or at least would have not long after terrorist acts).
Politians are playing on that. 100 people in one location dying in one shot is a MUCH better deal to your typical everyday american than 100000 people dying in a year spread out.
People are dumb, politicians love it, ugh.
Aside the obvious thing that many pointed already (is it violent games that make people violent, or violent people who like violent games in the first place?), one has to consider the benefits first:
As far as I know, the thing that puts teens and young adults in trouble the most is boredom. With the freagin attitude in this day and age that if its not "hardcore", its not worth doing, young people quickly find themselves with nothing fun or productive to do. Then they end up in drugs, fights, and all around trouble: they have to do SOMETHING with their lives, be it positive or negative.
Come in videogames: now that they aren't considered as nerdy as they were 10 years ago, a lot of these bored teens shift their attention to so called "hardcore" videogames. While they're playing, they're not out doing stupid stuff. Take the games away from them, and they'll have to do something else. Part of em will turn to sports, TV, going out with friends... part will start getting high and doing street gang stuff.
I'm sure there are SOME people who turn bad -because- of videogames. But while this is all hypothical, I'm sure for each person who turns bad because of videogames, there's 10 "bad" folks who are too busy blowing virtual heads up on XBox Live to think about which store to rob.
Would be pretty long since the decompile is only like 99% accurate (some references to external libs will come up as hexa code and such), but when you did something VB.NET specific (like the way VB.NET can handle events through syntax sugars) and are curious how it works in C# for example, it works fairly well.
Personaly I didn't see an UAC prompt on my 2 computers (work computer is on Vista too) in weeks, except when 1) using Visual Studio, which is optional and I configured it myself, because Visual Studio has system tools in it, such as controlling services from inside the IDE, of course it would need admin, 2) installing softwares available to all users of the machine, 3) reviewing the event logs.
/home) so there's no reason to do it anymore even if you're lazy (in XP and 2k I would always dump stuff straight in C:\ to avoid having to navigate to my document...), or if you use programs that were coded by idiots who missed the message back when the Windows 9x line was being phased out to stop developing software that relied on admin.
The only time you'll get -spammed- with UAC prompt is if you put user files directly in your C drive (in vista, user folders are in C:\Users, as opposed to Documents and Settings bullcrap of XP. That was one thing I was quite jealous of from Unix-style system, as they have more sensible defaults on that one, ie:
MS isn't kidding when they say the worse part of windows is bad software... Without bad drivers you can go for years without ever seeing Windows crash, without bad software you can go for weeks without seeing UAC...
Java and .NET are almost like that. I mean, you need a decompiler, but the compiled bytecode is so close to the source, you can replicate the original fairly well from the bytecode, thus why many many commercial softwares ship with obfuscated binaries.
Lets make a cross-patent agreement, since I've myself already patented a way to use large bodies of hydrogen, helium and other elements in a nuclear fusion reaction out of the earth's orbit to fuel other chemical reactions.
Man this could go on for a bit.
It may not even be just that. C# (and the .NET platform in general) is basically a compromise between garbage collecting systems like java, and low level C++ type stuff... C# is definately not memory leak proof (I mean hell, you CAN do pointer arithmetic and handle memory on your own if you want).
Importantly, it has (especially in its windows incarnation) quite a few binding to non-.NET code. A lot of em. So you still need to call dispose on a lot of objects, or use the "using" block construct to make sure memory (and other ressources) get deallocated correctly in many, many cases... Its not quite as sandboxed as Java is (without external stuff).
I've honestly never seen a semi-large C# program where developers didn't omit that aspect, deallocating these objects only if they read about that particular instance in a book or something, its sad. Even heavily audited financial/bank level packages and such made by reputable software development firms.
And of course there's the other possibility which is exactly what you described, and that wouldn't supprised me either.
I agree, or at least, something similar. One argument against forcing patent holders to use the technology themselves, is because little guys with bright ideas but not enough money to implement it would get screwed, and I agree on that too.
So really, there should be a method to gauge effort in trying to get the product out of the door, even if it means actively trying to license it up front, advertising it, trying to get proofs of concepts out...-something-. That way submarine patents and patents just there to screw people over would be covered...
One would have to be very careful and consider very well each word of how that "rule" would be written...but something along that line would help... Again, if its just actively advertising it...that way at leasy one wouldnt have to go through millions of patents to see if their product is safe or not.
OooO, I can patent a way to create an oxygen related reaction to generate high levels of light and heat!!!
Well, Its probably more like someone who bought a car that was on display at the dealer and had a "Try Me" Advertisement sign that the owner never took out, in which case its more confusiong a situation...
Car analogies really suck.
Note: The following is not how things -are-, nor is it how -I- think, its just something to think about.
If you leave your wifi open, then obviously, people can do whatever with it. Now, obviously there's the (probably low) chance of people using it for something very, very wrong.
Now from there, if one needs to track who did the very very wrong thing (I'm not talking RIAA jokes here, but something serious under a warrant from a court), two things can happen: It was your router, you deliberately (as opposed to by mistake, though the whole "innocent until guilty" deal probably would make it hard to prove you did it on purpose, unless you had a very obvious SSID) left it open, so you're responsible for whatever happened (which is the case in some other fields in similar situation), or case 2: we cant track who did it, can't prove its you, so everyone's off the hook.
Either way, it could be seen as quite the potential problems vs the low gain. (We're not talking PATRIOT act here where people had to give up so many rights its not funny, for literally no real gain aside in the mind of delusional idiots). Thats why "it could be illegal".
Now, as far as I know, in most places its still not, but if I leave my cellphone outside (in an imaginary world where no one would steal it...I know, takes a lot of imagination) and let anyone use it, and people constantly use it for 911 pranks, well, I'm probably gonna get in trouble (if it gets genuinly stolen, its something else).
Again, this isn't my opinion by a long shot. But its a different angle to think about.
I think a heck of a lot of people forget how stupidly long it took for people to move away from the Windows 9x serie (including ME, ugh) to the NT/2k/XP line, even if you only count from the day XP came out (since the previous two werent as home oriented).
The amount of machines I had to reload 9x on during those days was crazy. "My DOS games don't work WAAAAH!".
It seems worse this time around because A) XP actually doesn't suck, like the 9x serie did, and B) it was by far the largest gap between 2 OS release from MS (I know like, easily 5-10 times more people who bought boxed Vista than I do people who used ME at -all-).
Personally, and I'll admit I'm a fan of Vista, even if you considered a dreamland (or nightmareland from Slashdot's perspective, hehe) where -everyone- thinks Vista's great, that this amount of gamers switched to an OS that has a different graphical subsystem (and thus took a while for videocards to support well and game studios don't quite understand yet) is surpassing my expectations. When I saw the article on Slashdot, before reading it, I expected the survey to say less than 10%.
They have another very nice use, that I think will make em grow a bit faster than a small niche (not mainstream soon though), is that most SS storage devices fail very reliably. That is, you should be able to tell quite precisely and well in advance when its going to fail, as opposed to hard disk which, while quite reliable compared to a few years back, are much more likely to fail at just any moment.
That makes them very, very cool to use for dedicated application servers. The company I work for sells a fairly typical web app over database solution, and the database for our average customer is around 30-50 gigs. So 1-2 of those drives and we're peachy, and we virtually never will be woken up on a saturday because of a failed hard drive (we support the hardware).
Those kind of setups are INCREDIBLY common among ISVs, and 30-50 gigs (hell, let say 100 since these SS will be bigger soon enough) is quite reasonable for single application databases that don't do much datawarehousing (again, probably far more common than terrabyte datawarehouses).
Not mainstream to the point of being ready for a home desktop mediacenter, but there's still a LOT of uses for those to push them far beyond the niche market.
I agree, in the broadest sense, OLAPs have a relational API to integrate better with relational data via some form of ETL. Inside them however, the data is not stored as relational (its duplicated like crazy with links all over the place, and is far more hierarchal than relational). Thats more the way I was seeing it. Of course, if you use something like SQL Server Analysis Service, while the data will not be stored relationaly, the GUI tools make it seem a little that way.
:) Many things are close to relational for familiarity without actually being so, and using them as if they were usually ends up being a pretty bad (and heavily common) mistake, too.
But a relational UI/API/Feeling doesn't really mean the system is relational. Take for example Pervasive SQL. It is a transactional database with a relational API, so while data is stored in tables with foreign and primary keys, and you certainly can apply relational database concepts to it, its going to suck big time, because its not a relational database.
Also, most (good) OLAP systems also let you push data directly to their dimentions via ETL (obviously), and that tends not to be stored relationaly, even from the API's (the user's) perspective, so if you feed the cube from a relational database using the relational ETL API, well, yeah, but its rarely the only way to do it. In previous jobs we had to feed Analysis Service with data that simply didn't fit well in relational schema, and it worked pretty good...
I totally fully understand your point, I was pushing it a bit with the OLAP thing, but I hope you can understand what I meant
Originaly, the version of Vista that was to come out a long time ago (2003-2004 or something like that) was based on Windows XP's codebase, but as development lagged, they almost completly scrapped it and started over using Server 2003 as a base. From that enhanced Windows Server 2003, they built 2008. So while not quite correct, it would be closer to say Windows Server 2008 is based on Vista, not the other way around (since as I said, Vista was built on top, based on, the Server 2003 code).
Im not sure about the other databases, but SQL Server, as of SQL Server 2005, supports row versioning like Oracle. It is however not the default, so I assume there might be issues with it, especially with the optimistic concurrency model, but it can be turned on at any time, or on a transaction per transaction basis (as opposed to system wide).
Not sure what they did with it as of SQL Server 2008 though, maybe its default there.
I know you want Brian's answer, but I'd like to give my two cents, as I find that subject quite interesting :) OO databases, while they are still coming (many major RDBMS are going hybrid in the future, as a mean to do faster development and to abstract away things like OR Mappers), went dodo because they appeal to developers without giving too much to the people paying the checks...
But there's at least 2 other things that are heavily in the radar... OLAP systems have various non-relational ways of going around (though some are relational, faking it with star schema), and thats probably the most mainstream kind we'll see around... the fastest, most powerful OLAPs are definately not relational systems.
Secondly, there's specialised databases (which I guess OO-databases kindda ended up being in the end). Systems like Endeca's are non-relational databases that are fitted for extremely precise purposes, with tools and APIs only for that specific purpose. In the case of Endeca, they're doing a kind of data engine specialized to make web sites that allow users to search generally and then refine their queries in a user-friendly way, by only storing and returning results relevent for that (so its almost a RAD tool, in that developers have most of the work done for them if thats the kind of web app they want). From what I understand, Endeca is doing far better than OO-databases ever did, and its just one example out of many, so Im guessing thats the way of the "future".
A bit like we have general purpose CPUs, then specific purpose GPUs, physics engines, etc, we'll probably see relational databases staying around as the "general data storage engine", and more special purpose databases and datawarehouse types to handle the rest.
its not a matter of tabular vs hierarchal, its Relational vs Object based (or some such).
Basically the short answer is that the relational model has had much more time and more people working on it to mature, and a move to a different system as mainstream would have a totally insane impact on the workflow of enterprise level software development, from functional analysis to all the echosystem of tools to design and maintain applications...
On top of that, object databases are amazingly fast for quick CRUD and for hierarchal data, but when you want to do datamining, reporting, etc, its a total disaster (relational sucks at it too, thus OLAP systems that plugs in them, but thats a minority of softwares that use em, and at least relational has workarounds, such as star schemas).
Basically: It will become that way eventually (major RDBMSs like SQL Server and Oracle already have or are working on hybrid engines), but such a core change in software development paradigms takes time. Its like if you tried to mainstream a non-Object-Oriented programming language... it will take a long time. Still, has uses for niches and such.
Until then, there's ORM tools like Hibernate to bridge the concepts. And of course, there ARE douzans of Object data engines on the market...just pick. Its just not as well supported by the echosystem.
Maybe not XP, but Windows Server 2003 (and Vista, since its based on it), definately.
Windows Server 2003 compared to 2000, security wise, is like 2000 compared to ME...
It does? When I put a disk in my PC, it -asks- me if I want to run the auto-run, or if I wanna do something else with it...
Indeed, I figured they'd have that in their TOS. A lot of sites do. So in the case where that ToS is legally valid, they'll just lose all their users instead =P
Ya. Its what I do, but still awkward because we always forget, and have to send files twice everytime
In Protected Mode, IE7 on Vista is genuinly sandboxed, and throws a fit if you so much as do a right click View Source (which would run an executable: notepad by default). If the browser was actually standard compliant (sometimes by the time Duke Nuken Forever and Spore comes out I guess), it would be an excellent all around browser.
Other stuff, like running an executable sent to you by MSN is so freagin hard it puzzles even me sometimes (I beleive by default you have to change something in the registery, or it simply will flag em and you'll never be able to so much as extract exes from a zip file). Thats probably pushing it too far, but point is, if you don't have the admin password, its relatively difficult to do something retarded aside to hit your own account (which is possible in any OS really, and even then, you get quite a few warnings).
Something of interest, though not really related: Once I installed some game (I forget which) that tried to install a copy protection crap, and Vista actually asked me if I wanted to install it separately from the game itself (I got 2 pop ups). Said no, and it happened that this particular game would run without the copy protection...so I was able to tell it to shoo off (while my friend on XP hosed his install because of it...a patch came out the week later to fix the issue, but I never had the problem in the first place). MS is learning. Slowly.