That idea of you just go download something.exe and click it and it installs and works is nice in theory. However my experience with that has not been so good. Recently I installed the matrix online and found out that windows still does have a dependency hell. The game depended on windows media player 9 but that was not stated anywhere or checked. So the game would just crash when you tried to run it. I found out what the problem is by scouring some things online.
This is also not the first time by a long shot I have run into these problems. Other apps I have installed failed to work because they wanted a newer windows installer, newer xml library,.net, newer version of.net etc etc. I have run into dependency issues on all kinds of apps under windows and almost none under linux for a long time.
The issues is the same with video drivers, before installing modern video drivers you need to install directx 9.0c first. Most of them don't check for this but they fail in strange ways if you don't. Same for sound card drivers. I use windows to run 5 programs eq1, eq2, planetside, matrix online and firefox. Even with it just doing that I still run into dependency issues.
I am using debian sid for linux and it has just worked for me and has been far easier to install software with. If you need nice gui just use synaptic. Just point and click for what you want and let it go to work.
Re:Why isn't this already out?
on
Next Generation X11
·
· Score: 2, Interesting
Memory usage reported by X is not even close to accurate. The X process also memory maps your video card in most cases and even the reports the agp buffer size sometimes. So if you have a large memory card you can sometimes see X reporting that is using many hundreds of megs of ram. I have 3 vid cards in this box and X will sometimes report up to 400M of ram used. However I have 1G of ram and the system will show almost all of it free despite what X is showing.
The problem is that accurately showing up how much real memory is used is a VERY difficult process. Linux shows it one way, Windows shows it another way and neither are close to what people probably think of as right.
You can believe I am a liar if you want but the boxes where paid for and setup by microsoft as part of one of those rapid deployment w2k things. They where trying to get more people to use w2k and I was at a location where it gained them a fair bit of credibility to have it used. Even under light file serving load (about 200 mbs over a gige link the box just would not stay up.
This was using the IIS ftp server. I have also done db development on some of the other boxes. Even with only a few gig db and a few gigs of ram on the box after about a day at most the box would end up dieing if it was under much load. From what I can see if you keep windows under fairly heavy load where cpu and memory usage are maxed for many hours at a time and you have swapping at all it doesn't take long to kill the os.
Under KDE for at least 4 years or more you can control the gui from just about anything using dcop. There are bindings for perl, python, ruby, c++, shell etc. Since I have chosen to have a nice and consistent desktop that is no problem at all.
My problem with windows is that I do server apps. I have NEVER seen ANY version of windows remain stable. I have even had boxes set up and paid for by MS and even under light db load they would not stay up for more then a few days and maybe up to a few weeks.
This was under windows 2000 server and the thing was just never reliable. I use unixes because I can get the job done and they work.
Are you SURE there are different ways to do things? I have seen programmers around the world solve a given problem and have the code be darn near identical. Heck a number of times on the some of the programming channels I am on several of us have written a solution for someone and our code was IDENTICAL. Same spacing, same var names etc and that was for up to 20 lines of code.
When you patent software you are patenting ideas. Supporting patents on software would be like supporting patents on books. The value is in how it is all put together in the end, not in all the bites and pieces. Just like for a book the value is not in all the words but in the full telling of the story and the same is true of software. The problem is that unless you write software for many years it is very hard to understand this. Without doing it people just can't see how it really works.
Re:Weren't they aware of this during implementatio
on
VLC & European Patents
·
· Score: 1
Someone probably already patented it.;) The sad thing is that it probably really is patented.:(
Some of these people I want to teach how to do things with the brick of obvious truth.
Re:Weren't they aware of this during implementatio
on
VLC & European Patents
·
· Score: 1
From what I understand you can't write ANY software without violating many patents. I bet hello world in c probably violates at least 10 patents and in python or ruby you probably violate at least a hundred.
These people are patenting basic ideas and you can't design around them. No matter how much you try you can not avoid violating patents in any realistic software product probably in the thousands of patents. That is one reason why lawyers will tell you that programmers should NEVER EVER look at software patents. If you know and infringe you are liable for triple damages. If you know nothing then you have to license it, stop infringing (often not possible) or prove that the idea is not novel and get it thrown out.
Until you start writing software yourself it is really hard to understand. I can have programmers all around the planet implement something in the same language and never talk to each other and it is amazing that often that code is almost identical. Code should be protected by copyright and not patents.
How would you feel if ideas in books where patented? There are what about 18 plots that we as a species have ever come up? Well have fun reading if patents covered books. The expression is what needs to be protected and copyright already does that. The idea can not be protected since it is simply too general.
One way or another either software patents will go away or you can kiss goodbye any thought of actual working software. If free software did not exist and legally could not exist do you think microsoft would spend ANY time fixing their stuff? How about other companies? How many of the software products out there right now do you think will continue to be improved when no competition is allowed? You just have large companies with cross licensing and they get together to decide what software gets written and how good it will be and you get zip choice in that.
Something like 90% of software is custom written right now and you would basically wipe out that market except for large companies. Software patents and actually patents in general operate as a break on the system. They don't produce squat and neither do the lawyers. One way or another they will go away and I fear that it will be in a bloody way since that is usually the way these things historically happen.
It doesn't matter though. Unless you are large company if you are sued you lose. Defending yourself against these software patents are very expensive and for a small business you are probably going to go bankrupt anyways. It doesn't matter who is right in the slightest it just matters who has more money.
I have done C++ for about 4 years before I decided to use python. I did use templates, stl etc and overall I have to say that I disliked it a lot. Too many syntax structures where nasty and therefore bug prone. You had to spend a lot more time remembering all the details of the language then dealing with your problem. I still don't see why these lower level languages can't adopt some better syntax.
for i in seq: would not kill them in any way but it sure would make a lot of the stuff simpler. Have you really looked at the newer iteration stuff for C++/java etc. It is all still nasty and far too complex. Other things like if i in container where i can be just about anything and so container can be anything that implements __contains__ or a few other things.
I have not really looked at haskell or ML and they are worth looking into long term but I use zope for web apps which is also all done in python. I really don't want to move off of zope since I find it is the easiest development platform I have worked with so far (with a HUGE learning curve, it is easy to work with but a hard thing to learn). haskell or ML would have to have some insane advantages for me to consider moving over to them and trying to figure out how to migrate all of the data.
The first one is Python Interface Syntax allows you to define an interface and check if something supports it.
The second one is Object Adaptation is an item that builds on the interface system to define adapt an item with one interface to another.
Both of these things are already used in zope, twisted and other places and it seems very likely that they will be in python 2.5. These features have been used for at least a few years it is just not part of core python yet.
My point though was that I want to deal with "types" that are not computer types. I want a type that has a URL and id, or I want a type that is callable, or a type that is iterable and supports containment checking. The int, string, list, etc types are not normally the types I care about. You are right that types are important but only if the computer can give you types that match the problem. I do look forward to having more of this stuff in python and would be even okay with some limited type of static typing support so long as it was based on these more useful types rather then computer types.
One of the things I like about the python interface stuff is I don't have to have things inherit from a base class in order to follow that interface. The interface and the inheritance are separate so I can have something that says it follows a list interface but does not need to inherit from list. I am sure you can see the value of that after seeing some of the truly evil deep inheritance hierarchies.:)
You forgot a very important step. The VAST majority of the time those low level bottlenecks are also low level bottlenecks that other people have and there is already a highly optimized c module to do that task with a python binding already. So you just use that library and the problem is solved and you did not need to write any lower level code.
You are right though that a mix of high level and low level languages tends to give the best result in the lowest amount of time. What has shocked me is that from experience I have seen that pure c/c++ apps are almost always faster when redone in python even without anything outside the standard library. C/C++ show up very fast in these micro optimization benchmarks. However I have not seen them show up that fast on large codebases. Probably because it takes so much time and effort to optimize them. So while those apps could be made faster then the python versions it would cost too much money to do it since the code base is so large. This is an even better reason that that hybrid stuff pays off so well. The low level parts are so small that you can highly optimize them and you will end up with an app a good deal faster then ANY c/c++ app of reasonable since you can afford to produce.
One of the benefits is in things like duck typing. Often you don't care what kind of object something is so long as it has some certain method. To put it in a practical way I work with zope which is a python based app server which has an object database as part of it. Often I will run queries and get objects back. Most of the time I don't care if it is a file, picture, dtml document, or any of the many other types in the db all I care is that it has an id and it is willing to draw its url. Those are the conditions I have for working with the object.
So you work with objects by interface rather then by type. The interface also does not have to be a complete interface. You can implement as much of the interface as you need for something. I have some objects that are not lists and can not be used as lists however I have implemented some methods that make it so you can iterate over them like lists and slice them like lists.
This makes many tasks far simpler and encourages more regularity in usage.
How do you check if a substring is in a string, an item in a sequence, a key in dictionary etc? How do you iterate over them? In python it is all the same. if substing in string, if item in seq, if key in dict and the for character in string, for item in seq, for key in dict, for line in file, etc etc etc.
Types are nice but the types the static compilers have are not the types my apps use. The static type systems just end up costing me more time to develop working apps with then the dynamic typing systems and you have to test the product anyways.
Hmm I have kde 3.4 on debian sid and konqueror opens in well under 1 second. It is close to instant here and that is on an athlon xp 3200 and the system is fairly heavily loaded at the time. However more to the point in kde you can hit alt-f2 and get this window that comes up that you can enter a command in and the cool thing about it is that you can also enter urls in it and even the konqueror shortcuts. So alt-f2 gg:somesearch will open up that google search in your default browser and in my case that is konqueror.
One of the thing you should consider is that if these gui apps are launching slow is to run fc-cache as root. That will rebuild your font tables since if they are screwed up the apps somehow do their own memory build of the font tables which is a massive slowdown. Most dists have that always correct but some of them needto have their scripts looked at more and those tables get out of date. I agree that it is stupid and needs to be fixed in some more elegent way but that seems to be the reality.
Go to settings -> configure konqueror -> web shortcuts to see all the various shortcuts that the browser has and remember all of those work when you do alt-f2 also to bring up that little command window. You can also launch any program from there so often I find myself using that as the main program launcher since alt-f2 programname enter is faster then moving the mouse to find the app and start it by a long shot. That window I have also never seen delay in coming up except when I had a major db test running on my machine at the same time and when your load average is up over 15 with major swapping not much happens fast.;)
Actually I bought diablo 2 and the expansion and I usually played on a bnetd server and it had nothing to do pirating. I was tired of playing regular diablo 2 and I wanted to play the mods in a non cheating environment and bnetd allows people to run these gameservers for the mods. So you can play with other people without dealing with the cheating. This is where I used to play the games http://d2maniacs.shbe.org/ and there are a lot of good mods for diablo 2.
If there was a good way to play these mods on regular battle.net then I would have no problems.
The other thing I found is that on some of these other bnetd servers is that there was FAR less griefing. Only on regular battle.net have I had people join a game, go hostile and then try and kill me while I was out doing other things. In these other bnetd servers that is usually something people get banned for doing and when people fight it is usually a duel that is arranged at a certain location.
The kde and gnome vfs layers are pretty innovative? Can you tell me how in windows I can easily deal with almost any kind of remote network resources or virtual filesystem transparently from anywhere in the system? I can open and edit files via ftp, http, http, sftp, webdav, webdavs, imap, imaps etc and even local resources can use the vfs layer. I can drop a cd in the drive and go to audiocd:/ and browse it just like a drive and drag files, folders etc off of it to encode to the settings I have configured in kde. I can even give that as a url in a file upload dialog on a website and kde will grab the file, encode it and then send it along to the server.
I have never seen anything even remotely like that for windows or macs but it is part of kde. Maybe it would help if you really used kde and learned what it could do and did not judge it based on screenshots and other slashdot postings about it being a copycat of windows. Those that things it looks and works like windows need to have their heads and eyes examined.
Remember if google detects you are doing this kind of crap you are gone from the search engine for a VERY long time. I have seen companies try this kind of cloaking crap with google and they seem to get high for about 3 months and then they vanish from the entire archive and most I never see again even though their website is still up.
It is taking up disk space but it is unlikely to be taking up any memory space. In most software I have seen stuff is not loaded into ram until the feature is actually used. Even then only as much ram is used as parts of the feature that you use.
There is a difference though. If firefox screws up I can use konqueror instead or opera in my debian kde setup and neither are integrated into the system. If mpg123 has a problem I can use mpg321 (stupid name) and it will perform all the same stuff and is even transparent to the other apps on the system using it. However if there is a major hole in IE I can't remove it until the problem is fixed, I can't even disable it.
If there is a hole in IE then stuff like quicken, stream, city of heroes updater and all kinds of other apps are effected by that and there is no way I have seen to change what those apps use.
How tight the coupling is changes how severe a problem is. At least on a business level if app x has a problem I can choose to disable app x and redirect the stuff to app y instead which can do all the same things but doesn't have that problem.
NOBODY forced you to use GPL code in the first place. You could have chosen something else at any time and been under no obligations. If you choose GPL code then you must abide by the license the GPL code is under. If you purchase a proprietary QT license you must comply with that license. If you download some shareware tool you must comply with that license. There is no difference between any of these. They each have costs, obligations etc.
NOBODY is forcing you to use GPL code. You can choose to use it or not choose to use it. If you choose to use it then you have to abide by the license it is under. There is no force involved and never has been. At every step you make a choice with no durress involved. There is nothing viral about the GPL.
There is a simple way to to deal with this. If the project is so small that it makes up such a tiny ammount of code then contact the author or small group of authors and offer money in exchange for a different license. There are many examples of stuff under multiple licnses. Look at qt, mysql etc.
Even if some library from another vendor would make up.01% of the code in the product that does not give you the right to take it. You can pay them for it but you can't take it. Just because something makes up a small part of the project does not give you the right to take it and just because something is gpl it does not make it any different then a proprietary library. They both have conditions and if you don't like those conditions you negotiate for better ones. If you can't get better ones then you rewrite it or find someone else that will license it to you in a way you find appropriate.
I get sick and tired of this crap about the gpl. So many argue that they should be able to just take it and use it for whatever they want and because they can't that is force. However they NEVER say the same thing about a proprietary product. You don't go to oracle and take some of their libs to use in your product without following their license terms even if it makes up.01% of your product. So if it is not right in the oracle case then it is not right in the gpl case.
If you are waiting for it all to work then you are going to wait forever. It doesn't all just work on windows, macs or linux and likely never will. I have run into a fair bit of hardware that doesn't work in windows xp since the drivers don't exist for that either. I have even run into issues with macs not recognizing hardware that was plugged in that they had drivers for. All desktop systems are going to continue to have driver issues until it is all standardized. There should be 1 video driver, 1 sound card driver, 1 SATA driver, 1 USB chipset driver etc. It is the lack of standards causing the problems for all kinds of systems.
I thought of asking that question once. Then I realized that I don't really want to know the answer to that question. If you think about it long enough you will realize there are many questions that you don't really want to know the answer to and this question is in that class of questions.;)
Ask the people that play everquest that question.:) Many people that play MMOs have 2+ copies of the game. I have met some people that have 8 copies of the game, 8 copies of every expansion etc. It is pretty sick but people do it.
That idea of you just go download something.exe and click it and it installs and works is nice in theory. However my experience with that has not been so good. Recently I installed the matrix online and found out that windows still does have a dependency hell. The game depended on windows media player 9 but that was not stated anywhere or checked. So the game would just crash when you tried to run it. I found out what the problem is by scouring some things online.
.net, newer version of .net etc etc. I have run into dependency issues on all kinds of apps under windows and almost none under linux for a long time.
This is also not the first time by a long shot I have run into these problems. Other apps I have installed failed to work because they wanted a newer windows installer, newer xml library,
The issues is the same with video drivers, before installing modern video drivers you need to install directx 9.0c first. Most of them don't check for this but they fail in strange ways if you don't. Same for sound card drivers. I use windows to run 5 programs eq1, eq2, planetside, matrix online and firefox. Even with it just doing that I still run into dependency issues.
I am using debian sid for linux and it has just worked for me and has been far easier to install software with. If you need nice gui just use synaptic. Just point and click for what you want and let it go to work.
Memory usage reported by X is not even close to accurate. The X process also memory maps your video card in most cases and even the reports the agp buffer size sometimes. So if you have a large memory card you can sometimes see X reporting that is using many hundreds of megs of ram. I have 3 vid cards in this box and X will sometimes report up to 400M of ram used. However I have 1G of ram and the system will show almost all of it free despite what X is showing.
The problem is that accurately showing up how much real memory is used is a VERY difficult process. Linux shows it one way, Windows shows it another way and neither are close to what people probably think of as right.
You can believe I am a liar if you want but the boxes where paid for and setup by microsoft as part of one of those rapid deployment w2k things. They where trying to get more people to use w2k and I was at a location where it gained them a fair bit of credibility to have it used. Even under light file serving load (about 200 mbs over a gige link the box just would not stay up.
This was using the IIS ftp server. I have also done db development on some of the other boxes. Even with only a few gig db and a few gigs of ram on the box after about a day at most the box would end up dieing if it was under much load. From what I can see if you keep windows under fairly heavy load where cpu and memory usage are maxed for many hours at a time and you have swapping at all it doesn't take long to kill the os.
Under KDE for at least 4 years or more you can control the gui from just about anything using dcop. There are bindings for perl, python, ruby, c++, shell etc. Since I have chosen to have a nice and consistent desktop that is no problem at all.
My problem with windows is that I do server apps. I have NEVER seen ANY version of windows remain stable. I have even had boxes set up and paid for by MS and even under light db load they would not stay up for more then a few days and maybe up to a few weeks.
This was under windows 2000 server and the thing was just never reliable. I use unixes because I can get the job done and they work.
Are you SURE there are different ways to do things? I have seen programmers around the world solve a given problem and have the code be darn near identical. Heck a number of times on the some of the programming channels I am on several of us have written a solution for someone and our code was IDENTICAL. Same spacing, same var names etc and that was for up to 20 lines of code.
When you patent software you are patenting ideas. Supporting patents on software would be like supporting patents on books. The value is in how it is all put together in the end, not in all the bites and pieces. Just like for a book the value is not in all the words but in the full telling of the story and the same is true of software. The problem is that unless you write software for many years it is very hard to understand this. Without doing it people just can't see how it really works.
Someone probably already patented it. ;) The sad thing is that it probably really is patented. :(
Some of these people I want to teach how to do things with the brick of obvious truth.
From what I understand you can't write ANY software without violating many patents. I bet hello world in c probably violates at least 10 patents and in python or ruby you probably violate at least a hundred.
These people are patenting basic ideas and you can't design around them. No matter how much you try you can not avoid violating patents in any realistic software product probably in the thousands of patents. That is one reason why lawyers will tell you that programmers should NEVER EVER look at software patents. If you know and infringe you are liable for triple damages. If you know nothing then you have to license it, stop infringing (often not possible) or prove that the idea is not novel and get it thrown out.
Until you start writing software yourself it is really hard to understand. I can have programmers all around the planet implement something in the same language and never talk to each other and it is amazing that often that code is almost identical. Code should be protected by copyright and not patents.
How would you feel if ideas in books where patented? There are what about 18 plots that we as a species have ever come up? Well have fun reading if patents covered books. The expression is what needs to be protected and copyright already does that. The idea can not be protected since it is simply too general.
One way or another either software patents will go away or you can kiss goodbye any thought of actual working software. If free software did not exist and legally could not exist do you think microsoft would spend ANY time fixing their stuff? How about other companies? How many of the software products out there right now do you think will continue to be improved when no competition is allowed? You just have large companies with cross licensing and they get together to decide what software gets written and how good it will be and you get zip choice in that.
Something like 90% of software is custom written right now and you would basically wipe out that market except for large companies. Software patents and actually patents in general operate as a break on the system. They don't produce squat and neither do the lawyers. One way or another they will go away and I fear that it will be in a bloody way since that is usually the way these things historically happen.
It doesn't matter though. Unless you are large company if you are sued you lose. Defending yourself against these software patents are very expensive and for a small business you are probably going to go bankrupt anyways. It doesn't matter who is right in the slightest it just matters who has more money.
I have done C++ for about 4 years before I decided to use python. I did use templates, stl etc and overall I have to say that I disliked it a lot. Too many syntax structures where nasty and therefore bug prone. You had to spend a lot more time remembering all the details of the language then dealing with your problem. I still don't see why these lower level languages can't adopt some better syntax.
for i in seq: would not kill them in any way but it sure would make a lot of the stuff simpler. Have you really looked at the newer iteration stuff for C++/java etc. It is all still nasty and far too complex. Other things like if i in container where i can be just about anything and so container can be anything that implements __contains__ or a few other things.
I have not really looked at haskell or ML and they are worth looking into long term but I use zope for web apps which is also all done in python. I really don't want to move off of zope since I find it is the easiest development platform I have worked with so far (with a HUGE learning curve, it is easy to work with but a hard thing to learn). haskell or ML would have to have some insane advantages for me to consider moving over to them and trying to figure out how to migrate all of the data.
For python looks at peps 245 and 246. http://python.org/peps/pep-0246.html and http://python.org/peps/pep-0245.html
:)
The first one is Python Interface Syntax allows you to define an interface and check if something supports it.
The second one is Object Adaptation is an item that builds on the interface system to define adapt an item with one interface to another.
Both of these things are already used in zope, twisted and other places and it seems very likely that they will be in python 2.5. These features have been used for at least a few years it is just not part of core python yet.
My point though was that I want to deal with "types" that are not computer types. I want a type that has a URL and id, or I want a type that is callable, or a type that is iterable and supports containment checking. The int, string, list, etc types are not normally the types I care about. You are right that types are important but only if the computer can give you types that match the problem. I do look forward to having more of this stuff in python and would be even okay with some limited type of static typing support so long as it was based on these more useful types rather then computer types.
One of the things I like about the python interface stuff is I don't have to have things inherit from a base class in order to follow that interface. The interface and the inheritance are separate so I can have something that says it follows a list interface but does not need to inherit from list. I am sure you can see the value of that after seeing some of the truly evil deep inheritance hierarchies.
You forgot a very important step. The VAST majority of the time those low level bottlenecks are also low level bottlenecks that other people have and there is already a highly optimized c module to do that task with a python binding already. So you just use that library and the problem is solved and you did not need to write any lower level code.
You are right though that a mix of high level and low level languages tends to give the best result in the lowest amount of time. What has shocked me is that from experience I have seen that pure c/c++ apps are almost always faster when redone in python even without anything outside the standard library. C/C++ show up very fast in these micro optimization benchmarks. However I have not seen them show up that fast on large codebases. Probably because it takes so much time and effort to optimize them. So while those apps could be made faster then the python versions it would cost too much money to do it since the code base is so large. This is an even better reason that that hybrid stuff pays off so well. The low level parts are so small that you can highly optimize them and you will end up with an app a good deal faster then ANY c/c++ app of reasonable since you can afford to produce.
One of the benefits is in things like duck typing. Often you don't care what kind of object something is so long as it has some certain method. To put it in a practical way I work with zope which is a python based app server which has an object database as part of it. Often I will run queries and get objects back. Most of the time I don't care if it is a file, picture, dtml document, or any of the many other types in the db all I care is that it has an id and it is willing to draw its url. Those are the conditions I have for working with the object.
So you work with objects by interface rather then by type. The interface also does not have to be a complete interface. You can implement as much of the interface as you need for something. I have some objects that are not lists and can not be used as lists however I have implemented some methods that make it so you can iterate over them like lists and slice them like lists.
This makes many tasks far simpler and encourages more regularity in usage.
How do you check if a substring is in a string, an item in a sequence, a key in dictionary etc? How do you iterate over them? In python it is all the same. if substing in string, if item in seq, if key in dict and the for character in string, for item in seq, for key in dict, for line in file, etc etc etc.
Types are nice but the types the static compilers have are not the types my apps use. The static type systems just end up costing me more time to develop working apps with then the dynamic typing systems and you have to test the product anyways.
Hmm I have kde 3.4 on debian sid and konqueror opens in well under 1 second. It is close to instant here and that is on an athlon xp 3200 and the system is fairly heavily loaded at the time. However more to the point in kde you can hit alt-f2 and get this window that comes up that you can enter a command in and the cool thing about it is that you can also enter urls in it and even the konqueror shortcuts. So alt-f2 gg:somesearch will open up that google search in your default browser and in my case that is konqueror.
;)
One of the thing you should consider is that if these gui apps are launching slow is to run fc-cache as root. That will rebuild your font tables since if they are screwed up the apps somehow do their own memory build of the font tables which is a massive slowdown. Most dists have that always correct but some of them needto have their scripts looked at more and those tables get out of date. I agree that it is stupid and needs to be fixed in some more elegent way but that seems to be the reality.
Go to settings -> configure konqueror -> web shortcuts to see all the various shortcuts that the browser has and remember all of those work when you do alt-f2 also to bring up that little command window. You can also launch any program from there so often I find myself using that as the main program launcher since alt-f2 programname enter is faster then moving the mouse to find the app and start it by a long shot. That window I have also never seen delay in coming up except when I had a major db test running on my machine at the same time and when your load average is up over 15 with major swapping not much happens fast.
Actually I bought diablo 2 and the expansion and I usually played on a bnetd server and it had nothing to do pirating. I was tired of playing regular diablo 2 and I wanted to play the mods in a non cheating environment and bnetd allows people to run these gameservers for the mods. So you can play with other people without dealing with the cheating. This is where I used to play the games http://d2maniacs.shbe.org/ and there are a lot of good mods for diablo 2.
If there was a good way to play these mods on regular battle.net then I would have no problems.
The other thing I found is that on some of these other bnetd servers is that there was FAR less griefing. Only on regular battle.net have I had people join a game, go hostile and then try and kill me while I was out doing other things. In these other bnetd servers that is usually something people get banned for doing and when people fight it is usually a duel that is arranged at a certain location.
The kde and gnome vfs layers are pretty innovative? Can you tell me how in windows I can easily deal with almost any kind of remote network resources or virtual filesystem transparently from anywhere in the system? I can open and edit files via ftp, http, http, sftp, webdav, webdavs, imap, imaps etc and even local resources can use the vfs layer. I can drop a cd in the drive and go to audiocd:/ and browse it just like a drive and drag files, folders etc off of it to encode to the settings I have configured in kde. I can even give that as a url in a file upload dialog on a website and kde will grab the file, encode it and then send it along to the server.
I have never seen anything even remotely like that for windows or macs but it is part of kde. Maybe it would help if you really used kde and learned what it could do and did not judge it based on screenshots and other slashdot postings about it being a copycat of windows. Those that things it looks and works like windows need to have their heads and eyes examined.
Remember if google detects you are doing this kind of crap you are gone from the search engine for a VERY long time. I have seen companies try this kind of cloaking crap with google and they seem to get high for about 3 months and then they vanish from the entire archive and most I never see again even though their website is still up.
It is taking up disk space but it is unlikely to be taking up any memory space. In most software I have seen stuff is not loaded into ram until the feature is actually used. Even then only as much ram is used as parts of the feature that you use.
Geeze don't give them any more ideas. They have made enough bad decisions already without people telling them how to screw up even more. :)
There is a difference though. If firefox screws up I can use konqueror instead or opera in my debian kde setup and neither are integrated into the system. If mpg123 has a problem I can use mpg321 (stupid name) and it will perform all the same stuff and is even transparent to the other apps on the system using it. However if there is a major hole in IE I can't remove it until the problem is fixed, I can't even disable it.
If there is a hole in IE then stuff like quicken, stream, city of heroes updater and all kinds of other apps are effected by that and there is no way I have seen to change what those apps use.
How tight the coupling is changes how severe a problem is. At least on a business level if app x has a problem I can choose to disable app x and redirect the stuff to app y instead which can do all the same things but doesn't have that problem.
NOBODY forced you to use GPL code in the first place. You could have chosen something else at any time and been under no obligations. If you choose GPL code then you must abide by the license the GPL code is under. If you purchase a proprietary QT license you must comply with that license. If you download some shareware tool you must comply with that license. There is no difference between any of these. They each have costs, obligations etc.
NOBODY is forcing you to use GPL code. You can choose to use it or not choose to use it. If you choose to use it then you have to abide by the license it is under. There is no force involved and never has been. At every step you make a choice with no durress involved. There is nothing viral about the GPL.
There is a simple way to to deal with this. If the project is so small that it makes up such a tiny ammount of code then contact the author or small group of authors and offer money in exchange for a different license. There are many examples of stuff under multiple licnses. Look at qt, mysql etc.
.01% of the code in the product that does not give you the right to take it. You can pay them for it but you can't take it. Just because something makes up a small part of the project does not give you the right to take it and just because something is gpl it does not make it any different then a proprietary library. They both have conditions and if you don't like those conditions you negotiate for better ones. If you can't get better ones then you rewrite it or find someone else that will license it to you in a way you find appropriate.
.01% of your product. So if it is not right in the oracle case then it is not right in the gpl case.
Even if some library from another vendor would make up
I get sick and tired of this crap about the gpl. So many argue that they should be able to just take it and use it for whatever they want and because they can't that is force. However they NEVER say the same thing about a proprietary product. You don't go to oracle and take some of their libs to use in your product without following their license terms even if it makes up
If you are waiting for it all to work then you are going to wait forever. It doesn't all just work on windows, macs or linux and likely never will. I have run into a fair bit of hardware that doesn't work in windows xp since the drivers don't exist for that either. I have even run into issues with macs not recognizing hardware that was plugged in that they had drivers for. All desktop systems are going to continue to have driver issues until it is all standardized. There should be 1 video driver, 1 sound card driver, 1 SATA driver, 1 USB chipset driver etc. It is the lack of standards causing the problems for all kinds of systems.
I thought of asking that question once. Then I realized that I don't really want to know the answer to that question. If you think about it long enough you will realize there are many questions that you don't really want to know the answer to and this question is in that class of questions. ;)
Ask the people that play everquest that question. :) Many people that play MMOs have 2+ copies of the game. I have met some people that have 8 copies of the game, 8 copies of every expansion etc. It is pretty sick but people do it.