I completely agree. The HL2 SDK is a mess. A few months ago I tried to start mod development by making the player jump higher when sprinting. Seemed like a simple enough mod. This took weeks to figure out because of 1. the poor design (the code that moves the player up is hidden like 20 methods deep, and fragments are all over the place) and 2. synch problems between the 'client' and 'server' code, which was also badly implemented. For comparison, after installing the Doom3 SDK it took me less than 20 minutes to implement a similar mod for D3. Including getting it to compile and run within D3.
One of the main features of most systems of government is a monopoly on the legitimate use of physical force. In short: Citizens permit the government to use force to prevent other citizens from harming them.
You don't need to "hunt" at all; something like "apt-get remove package" will automatically remove all bits and pieces of "package".
Unless I didn't use a package manager. Which is my point isn't it? Package managers are fine, for those specific systems which actually use that package manager. And I have often had to install application XYZ version 123 manually because no package existed, or because the only available version was (very) old. Then came the problems with compiling said application because of the large amounts of (often conflicting) dependencies. And I have to remember to store the makefiles, because manually 'hunting and removing' an application is a pain. This is not a fun experience when you just want to use an application. Nowadays I see computers as a tool, not a hobby.
What I would really like is a single software installation/uninstallation package format which the whole free (and unfree) software world can agree on. As I've said before, software installation/uninstallation is for me the most annoying operation on all Linux and BSD systems I use and have used. And please, don't tell me to RTFM.
That statement is so at odds with reality that there is no explanation other than that you making it up. Among other things, file associations disappear when you do that. Also, shared DLLs disappear.
File associations are easy to restore. At least for me.
Shared DLL's are not all that common on Windows. At least not with software I use. As I've stated elsewhere I use a lot of free software. Mozilla, text editors, media players, image viewers, etc. etc. None of them install shared dll's, all of them can be ran by simple extracting them from their archive.
A fresh install of Windows requires me to do a few things: Drivers, file associations, and the reinstallation of a few applications (like TortoiseSVN). Oh yeah, and I need to run mozillafirefox --profilemanager to point it to my profile directory. This is my experience, it's not so negative as that of many others using Windows. YMMV.
I will try to answer your comments. I fear my intentions weren't clear in my original post.
Oh? Well, in that model, let's say that you make some configuration changes. The application is responsible for that. In Windows there are several 'standard' *coughe* ways to store configuration. And yes, configuration will probably stay behind when you remove the application directory. Note that most uninstallers will also leave configuration behind. A user may or may not like their settings to be stored indefinitely.
Oh, and how do you run it, with what command line options? Does it create an easily-accessible menu option that you can move and rename if you want to, or group with other similar programs? How does that get deleted? I don't really understand this? Anyways, if I manually install a software package from an archive, I always create a shortcut to that application myself. I remove that shortcut when removing the application.
Now let's get really crazy and say that there's a part of this program that you want to run all the time. Is there some kind of autodiscovery? If so, and you disable it, does it remember that fact even after you've uninstalled(deleted) and reinstalled the program? That would be frustrating, an uninstall/reinstall should clean up everything. But if not, how is that setting being cleaned up by your deletion? Again, if it's integrated into Windows it will probably need to be installed using an installer. Why would I want to delete this application manually?
Should any user who wants to run the program be able to overwrite its files anyway? If you're the owner of the files, of course. If you're not, then you can't.
My sorta ranty comment was not just about how 'great' it is that I can install software in a directory in Windows, and then delete the directory. I agree with you this is not the preferred way to manage software.
What I meant to say, in too many words: 1. Windows software is most often (excluding services) installed into a single directory which can easily be located. This, I think, makes a lot of sense. It has made my life as a non-expert user alot easier.
2. Either by downloading Setup.exe or AppName.zip, software installation (and yes, uninstallation) works everytime. I can't remember the last time some piece of Windows software failed to install. My experience with Linux/BSD systems was a lot less friendly. When I had to, I often had problems installing software manually. Only rarely have the various package managers I use failed. A standard system for software installation and uninstallation would completely fix the biggest gripe I have with Linux/BSD systems.
What's confusing/frustrating about double-clicking on a package (.exe,.rpm,.deb) and telling the prompt, "Yes, please install this" ? Exactly!.exe on Windows? Nothing..rpm on Redhat/etc.? Nothing..deb on Debian/etc.? Nothing. That's my point. I only had to use a thousand words to say the same.:)
I hope I'm not feeding the troll here... but does anyone really believe that deleting folders in "program files" uninstalls applications?
For most applications I use, of which at least half is free/opensource software.. Yes? For other applications there are uninstallers which accomplish exactly the same, and delete some shortcuts too.
YUM is exactly the point of course. Download any Windows applications from the net in a zipfile (that's how most software from sf.net is distributed), extract it into a directory, run it.. and when you don't need it anymore remove the directory. Works for me.
I don't have to: A. hope for the software to release a package in XYZ format B. wait for a package (version) to be included C. install the software manually in my package-managed distro (often by having to compile the software myself, which frequently cause me problems with conflicting dependencies) D. create a package myself
This is not a rant. A good package management system should work just fine. But at least agree on one extensible multi-OS format to be used. For the sake of the user. If I want to install a piece of software I don't want to spend a long time trying to install it. Which is exactly the problem I've had (and have) while using Linux and BSD operating systems.
Virtual folders for "C:\Program Files\" ? What's stopping you from using "D:\Program Files\"? I'm serious. I've got (useful) software on my machine from 2002. And that's a lot of reformats of C:\ later.
I am mostly a Windows user. And the "all windows applications need registry keys to work" is nonsense. Every 2 years or so I reinstall my WinOS (partition 1), while keeping my applications installed (on partition 2). I use lots of software, yet cannot recall the last time an application I use failed to start because it was missing registry keys. Apart from registration information and some special applications like debuggers, of course.
I also use Gentoo for a fileserver and I don't like it (portage). More user-friendly than ports but a lot less clean. A Gentoo-user recently told me I should've added USE -ALL (or equiv.) to my portage flags on first boot. Meh, missed that.
- Apps don't have any consistent install/uninstall interface. (While Linux IS better in this regard, it's got many of the same problems...).
Well, I think removing "Program Files\AppName\*" makes more sense than hunting for a bunch of different files in/etc,/usr/bin,/usr/lib and whatnot. Placing all applications files (minus user settings) in a single directory is what I actually like most about Windows. Unzipping AppName.zip into a new directory in Program Files, then later removing the whole directory is quick, easy and clean. And it doesn't require any special packaging. Obviously, what I dislike most about Linux and BSD is installing and uninstalling software. Package manager packages, tarballs, and the various ideas about what goes where. Confusing and frustrating in my opinion.
Disclaimer: I'm sure a Linux user will soon point out why this Windows paradigm is such a pain.;)
Is it wrong to charge $10 per CD with Mozilla on it?
Actually, I believe it is. Mozilla (and Firefox, etc.) are trademarks of the Mozilla Foundation. IANAL but I don't think you can go around selling Mozilla-branded items without permission from the Mozilla folks.
I don't know much about C++/CLI, but this is different from what I've heared before (of course what I've heared before may be wrong). Could you please post a valid C++ program which would behave different under C++/CLI?
Well, as far as I know any C++ code compiles just fine in with C++/CLI extensions enabled. Just last month I wrote a C++/CLI wrapper class for a large C++ codebase so our.Net applications could link up with it. No code in this substantially large library had to be altered so it could compile in C++/CLI. The C++/CLI extensions are only needed to interface with.Net. Also note that the code was originally 'written for' GCC++.:P
The method GetText can now be called from any.Net application, and will return the.Net type String. Everything in myNativeLibrary is just plain old C++, without garbage collection or.Net library support.
The Dutch government has made it clear that they won't be paying ISP's for it. The Dutch ISP xs4all is actively campaigning against this law. They give the realistic argument that this law will commercially cripple European ISPs, and the government paying for the storage is unrealistic.
The Buma-Stemra folks hunt for shops and individuals selling untaxed blank media. They then fine them a rather large amount of cash and take their blank cd's/dvd's.
Not many stores would take a risk like that just to earn more on blank CD's.
The only existing bypass is because of stores selling from germany. Those CD's are imported into the Netherlands and clears the store from having to pay the copy-tax. I believe the Dutch customer has to pay instead, but that's much harder to track. There was a ruling on this just last month. Ruled in favor of the German webshops.
Here in the Netherlands, all blank media is taxed over 100%. CD's which cost around E0,20 apiece without tax cost over E0,60 with tax. The organisation responsible (Buma-Stemra) also has the power to seize all untaxed blank media being sold and then fine the seller. It has recently been discovered they have also been illegally selling off the seized media.
This organisation (given this 'privilege' by our government) brings in millions of euros each year, and nobody knows where exactly this money is going. The poor starving artists get paid, right?
It appears that the CCD's used in current Nikon cameras do not have this problem. Still, the camera manufacturers' dependency on Sony for their CCD's is heavy. Currently only(?) Canon creates their own CMOS sensors and Nikon is experimenting with 'jfet lbcast' in their D2h cameras (new sensor design with similarities to current CMOS sensors).
"great! You can use Microsoft VC.NET, Microsoft C#.net, and Microsoft VB.net on any version of Microsoft windows. (Well recent)"
Right.. of course not all of these are completed, but still. There are also some implementations not listed there like IronPython. Or you can install Mono or Portable.Net on Windows and compile without resorting to Microsoft tools. The resulting application will run just fine using the MS runtime or any other runtime on any other platform. (As long as you have the libraries you need on every platform.)
IMHO:.Net isn't perfect, but isn't fundamentally broken either. Unless of course you don't want to touch anything having to do with Microsoft, ever. That's fine, understandable even. Just check facts before flaming their software.;) Also, so now we have.Net as an alternative to Java. I thought more choice and competition was good?
About vendor lock in. In practice there is no lock in, as stated above C# and.Net applications are already quite compatible with non-Win32 platforms. Patent and copyright issues? Well C# is pretty safe, MS might somehow claim to 'own' the CLR standard.. but I think that would be highly unlikely. (And even more unlikely to succeed.)
So? If I write a Java application and call the Win32 API does that make Java not crossplatform anymore? System.Windows.* and Microsoft.* are called that for a reason. So you'll remember not to call them when writing an application intended for multiple platforms.
Actually, wx.NET and GTK# work just fine on both Microsoft's runtime as on Mono's runtime. Compile on Win32 with VS.Net, run on Linux with Mono (or Portable.Net). I've tried it and ran into no problems.
QT# exists or you can call QT libs directly from.Net. I have no experience with QT so can't comment..Net isn't so 'boxed in' and 'made for win32' as I thought it would be. And C# is a pretty nice language.
Mono implements System.Windows.Forms, but currently it's not stable.
It's recommended to use the latest build of Mono System.Windows.Forms, you can find it here. And here is the the Mono WinForms class status. I currently wouldn't rely on it. But the outlook is good. And here are some pretty pictures of Mono's WinForms in action.
For apps where the both compatiblity with Windows and Linux/OSX are important I'd use wx.NET. However on Win32 WinForms works best, even if it isn't the nicest (for developers) toolkit around.
Not that I disagree -- but your site specifically won't work with IE then.:)
And I disagree with that.
Having written a fair share of webapps I've found: 1. Valid HTML may render incorrectly in any browser. While rendering correctly in others, even in IE. 2. Valid HTML may render correctly in IE6, as long as you know the limitations of the browser.
Thus all my output is valid HTML and renders properly in all the latest browser versions, without sending them (or tricking them into reading) different output.
Actually, the site where this project is going to be build is a currently a fusion technology research facility. Now they're attempting to construct the first 'production-level' plant there. Which means producing more power than is required to keep the reaction going.
I completely agree. The HL2 SDK is a mess.
A few months ago I tried to start mod development by making the player jump higher when sprinting. Seemed like a simple enough mod. This took weeks to figure out because of 1. the poor design (the code that moves the player up is hidden like 20 methods deep, and fragments are all over the place) and 2. synch problems between the 'client' and 'server' code, which was also badly implemented.
For comparison, after installing the Doom3 SDK it took me less than 20 minutes to implement a similar mod for D3. Including getting it to compile and run within D3.
One of the main features of most systems of government is a monopoly on the legitimate use of physical force.
In short: Citizens permit the government to use force to prevent other citizens from harming them.
You don't need to "hunt" at all; something like "apt-get remove package" will automatically remove all bits and pieces of "package".
Unless I didn't use a package manager. Which is my point isn't it?
Package managers are fine, for those specific systems which actually use that package manager. And I have often had to install application XYZ version 123 manually because no package existed, or because the only available version was (very) old. Then came the problems with compiling said application because of the large amounts of (often conflicting) dependencies. And I have to remember to store the makefiles, because manually 'hunting and removing' an application is a pain. This is not a fun experience when you just want to use an application. Nowadays I see computers as a tool, not a hobby.
What I would really like is a single software installation/uninstallation package format which the whole free (and unfree) software world can agree on. As I've said before, software installation/uninstallation is for me the most annoying operation on all Linux and BSD systems I use and have used.
And please, don't tell me to RTFM.
That statement is so at odds with reality that there is no explanation other than that you making it up. Among other things, file associations disappear when you do that. Also, shared DLLs disappear.
File associations are easy to restore. At least for me.
Shared DLL's are not all that common on Windows. At least not with software I use. As I've stated elsewhere I use a lot of free software. Mozilla, text editors, media players, image viewers, etc. etc. None of them install shared dll's, all of them can be ran by simple extracting them from their archive.
A fresh install of Windows requires me to do a few things: Drivers, file associations, and the reinstallation of a few applications (like TortoiseSVN). Oh yeah, and I need to run mozillafirefox --profilemanager to point it to my profile directory.
This is my experience, it's not so negative as that of many others using Windows. YMMV.
I will try to answer your comments. I fear my intentions weren't clear in my original post.
Oh? Well, in that model, let's say that you make some configuration changes.
The application is responsible for that. In Windows there are several 'standard' *coughe* ways to store configuration. And yes, configuration will probably stay behind when you remove the application directory. Note that most uninstallers will also leave configuration behind. A user may or may not like their settings to be stored indefinitely.
Oh, and how do you run it, with what command line options? Does it create an easily-accessible menu option that you can move and rename if you want to, or group with other similar programs? How does that get deleted?
I don't really understand this? Anyways, if I manually install a software package from an archive, I always create a shortcut to that application myself. I remove that shortcut when removing the application.
Now let's get really crazy and say that there's a part of this program that you want to run all the time. Is there some kind of autodiscovery? If so, and you disable it, does it remember that fact even after you've uninstalled(deleted) and reinstalled the program? That would be frustrating, an uninstall/reinstall should clean up everything. But if not, how is that setting being cleaned up by your deletion?
Again, if it's integrated into Windows it will probably need to be installed using an installer. Why would I want to delete this application manually?
Should any user who wants to run the program be able to overwrite its files anyway?
If you're the owner of the files, of course. If you're not, then you can't.
Good reply.
.rpm, .deb) and telling the prompt, "Yes, please install this" ? .exe on Windows? Nothing. .rpm on Redhat/etc.? Nothing. .deb on Debian/etc.? Nothing. :)
My sorta ranty comment was not just about how 'great' it is that I can install software in a directory in Windows, and then delete the directory. I agree with you this is not the preferred way to manage software.
What I meant to say, in too many words:
1. Windows software is most often (excluding services) installed into a single directory which can easily be located. This, I think, makes a lot of sense. It has made my life as a non-expert user alot easier.
2. Either by downloading Setup.exe or AppName.zip, software installation (and yes, uninstallation) works everytime. I can't remember the last time some piece of Windows software failed to install. My experience with Linux/BSD systems was a lot less friendly. When I had to, I often had problems installing software manually. Only rarely have the various package managers I use failed. A standard system for software installation and uninstallation would completely fix the biggest gripe I have with Linux/BSD systems.
What's confusing/frustrating about double-clicking on a package (.exe,
Exactly!
That's my point. I only had to use a thousand words to say the same.
I hope I'm not feeding the troll here... but does anyone really believe that deleting folders in "program files" uninstalls applications?
For most applications I use, of which at least half is free/opensource software.. Yes?
For other applications there are uninstallers which accomplish exactly the same, and delete some shortcuts too.
YUM is exactly the point of course. Download any Windows applications from the net in a zipfile (that's how most software from sf.net is distributed), extract it into a directory, run it.. and when you don't need it anymore remove the directory. Works for me.
I don't have to:
A. hope for the software to release a package in XYZ format
B. wait for a package (version) to be included
C. install the software manually in my package-managed distro (often by having to compile the software myself, which frequently cause me problems with conflicting dependencies)
D. create a package myself
This is not a rant. A good package management system should work just fine. But at least agree on one extensible multi-OS format to be used. For the sake of the user. If I want to install a piece of software I don't want to spend a long time trying to install it. Which is exactly the problem I've had (and have) while using Linux and BSD operating systems.
Virtual folders for "C:\Program Files\" ?
What's stopping you from using "D:\Program Files\"? I'm serious.
I've got (useful) software on my machine from 2002. And that's a lot of reformats of C:\ later.
I am mostly a Windows user. And the "all windows applications need registry keys to work" is nonsense. Every 2 years or so I reinstall my WinOS (partition 1), while keeping my applications installed (on partition 2). I use lots of software, yet cannot recall the last time an application I use failed to start because it was missing registry keys. Apart from registration information and some special applications like debuggers, of course.
I also use Gentoo for a fileserver and I don't like it (portage). More user-friendly than ports but a lot less clean. A Gentoo-user recently told me I should've added USE -ALL (or equiv.) to my portage flags on first boot. Meh, missed that.
- Apps don't have any consistent install/uninstall interface. (While Linux IS better in this regard, it's got many of the same problems...).
/etc, /usr/bin, /usr/lib and whatnot.
;)
Well, I think removing "Program Files\AppName\*" makes more sense than hunting for a bunch of different files in
Placing all applications files (minus user settings) in a single directory is what I actually like most about Windows. Unzipping AppName.zip into a new directory in Program Files, then later removing the whole directory is quick, easy and clean. And it doesn't require any special packaging. Obviously, what I dislike most about Linux and BSD is installing and uninstalling software. Package manager packages, tarballs, and the various ideas about what goes where. Confusing and frustrating in my opinion.
Disclaimer: I'm sure a Linux user will soon point out why this Windows paradigm is such a pain.
Is it wrong to charge $10 per CD with Mozilla on it?
Actually, I believe it is.
Mozilla (and Firefox, etc.) are trademarks of the Mozilla Foundation.
IANAL but I don't think you can go around selling Mozilla-branded items without permission from the Mozilla folks.
I have no mouth and I must Scream - Ellison
Sheesh! That's a story I'd prefer not to see on film. And not because it's a bad one.
Well, as far as I know any C++ code compiles just fine in with C++/CLI extensions enabled.
Just last month I wrote a C++/CLI wrapper class for a large C++ codebase so our
Also note that the code was originally 'written for' GCC++.
So for example, take this pseudocode:The method GetText can now be called from any
The Dutch government has made it clear that they won't be paying ISP's for it.
The Dutch ISP xs4all is actively campaigning against this law.
They give the realistic argument that this law will commercially cripple European ISPs, and the government paying for the storage is unrealistic.
The Buma-Stemra folks hunt for shops and individuals selling untaxed blank media. They then fine them a rather large amount of cash and take their blank cd's/dvd's.
Not many stores would take a risk like that just to earn more on blank CD's.
The only existing bypass is because of stores selling from germany. Those CD's are imported into the Netherlands and clears the store from having to pay the copy-tax. I believe the Dutch customer has to pay instead, but that's much harder to track. There was a ruling on this just last month. Ruled in favor of the German webshops.
Here in the Netherlands, all blank media is taxed over 100%.
CD's which cost around E0,20 apiece without tax cost over E0,60 with tax.
The organisation responsible (Buma-Stemra) also has the power to seize all untaxed blank media being sold and then fine the seller. It has recently been discovered they have also been illegally selling off the seized media.
This organisation (given this 'privilege' by our government) brings in millions of euros each year, and nobody knows where exactly this money is going.
The poor starving artists get paid, right?
It appears that the CCD's used in current Nikon cameras do not have this problem.
Still, the camera manufacturers' dependency on Sony for their CCD's is heavy. Currently only(?) Canon creates their own CMOS sensors and Nikon is experimenting with 'jfet lbcast' in their D2h cameras (new sensor design with similarities to current CMOS sensors).
"great! You can use Microsoft VC.NET, Microsoft C#.net, and Microsoft VB.net on any version of Microsoft windows. (Well recent)"
.Net isn't perfect, but isn't fundamentally broken either. Unless of course you don't want to touch anything having to do with Microsoft, ever. That's fine, understandable even. Just check facts before flaming their software. ;) .Net as an alternative to Java. I thought more choice and competition was good?
.Net applications are already quite compatible with non-Win32 platforms. Patent and copyright issues? Well C# is pretty safe, MS might somehow claim to 'own' the CLR standard .. but I think that would be highly unlikely. (And even more unlikely to succeed.)
Right.. of course not all of these are completed, but still. There are also some implementations not listed there like IronPython.
Or you can install Mono or Portable.Net on Windows and compile without resorting to Microsoft tools. The resulting application will run just fine using the MS runtime or any other runtime on any other platform. (As long as you have the libraries you need on every platform.)
IMHO:
Also, so now we have
About vendor lock in. In practice there is no lock in, as stated above C# and
So? If I write a Java application and call the Win32 API does that make Java not crossplatform anymore?
System.Windows.* and Microsoft.* are called that for a reason. So you'll remember not to call them when writing an application intended for multiple platforms.
Actually, wx.NET and GTK# work just fine on both Microsoft's runtime as on Mono's runtime. Compile on Win32 with VS.Net, run on Linux with Mono (or Portable.Net). I've tried it and ran into no problems.
.Net. I have no experience with QT so can't comment. .Net isn't so 'boxed in' and 'made for win32' as I thought it would be. And C# is a pretty nice language.
QT# exists or you can call QT libs directly from
Mono implements System.Windows.Forms, but currently it's not stable.
It's recommended to use the latest build of Mono System.Windows.Forms, you can find it here.
And here is the the Mono WinForms class status.
I currently wouldn't rely on it. But the outlook is good.
And here are some pretty pictures of Mono's WinForms in action.
For apps where the both compatiblity with Windows and Linux/OSX are important I'd use wx.NET.
However on Win32 WinForms works best, even if it isn't the nicest (for developers) toolkit around.
Not that I disagree -- but your site specifically won't work with IE then. :)
And I disagree with that.
Having written a fair share of webapps I've found:
1. Valid HTML may render incorrectly in any browser. While rendering correctly in others, even in IE.
2. Valid HTML may render correctly in IE6, as long as you know the limitations of the browser.
Thus all my output is valid HTML and renders properly in all the latest browser versions, without sending them (or tricking them into reading) different output.
> Games with such sexual content are supposed to get an AO rating as far as I remember, not a mere M.
Because sex is, obviously, so much more damaging to the mind of a 17 year old than killing people.
I wonder if and when this will change in the mindset of people.
What's causing this 'fear of sex' anyways?
Actually, the site where this project is going to be build is a currently a fusion technology research facility.
Now they're attempting to construct the first 'production-level' plant there. Which means producing more power than is required to keep the reaction going.
> A beowulf book of these. :)
How many libraries of congress is that?