Also as a side-note, Windows is multi-user these days; if I’m working on a file I don’t want to discover that it’s been deleted out from under me by another person or edited simultaneously, I want it locked. I think this is a far more likely scenario than your Word example, which doesn’t even work.
Interesting. I didn’t try it before I posted, but I tried it just now (Word 2000 on Windows 2000), and in fact I do get a “sharing violation” when I try to delete the folder.
The reason is that Word enters the directory when you open the file, and stays there after you close it. You can see this because the next time you go to open a file in Word, it defaults to the same directory.
They wouldn’t… intentionally. But as I’ve described, it’s easy to have processes using the file unintentionally.
Nothing, I expect it to work exactly as it’s worked on Unix for 30 years. When you delete (or rename) the file, you only actually remove (or change) the directory entry. The file still exists on disk as long as it’s open, the process that has the file open can still read and write to it normally, and when it closes the file, it’s automatically removed from disk.
In fact, some programs rely on this feature to make temporary files. They create a file, open it, then delete it. The file remains open and usable until it’s closed.
If a program’s current working directory is deleted, again, nothing happens to the program, except that the program is unable to create any files in the directory after it’s been deleted.
Dangerous? Not at all. There’s no technical reason to prohibit it.
Unix has been multi-user for decades. You can explicitly lock a file to prevent it from being changed. The problem with Windows is it prevents you from deleting or renaming the file even if it isn’t locked.
Windows 98 user here…
I think locking files is a very, very simple way of idiot-proofing the operating system and not letting people accidentally fuck up their computers. It’s true that you can manage to get some programs to work without file locking capability, but the fact is, 99% of all computer programmers (myself included) aren’t thinking “What happens if someone deletes this file? How would I make my program handle that?” when they’re making software. Just because you can do one specific example in Unix where you can delete a file in use by another application does not mean that every other Unix programmer thought of the same situation.
I’m generally not a Microsoft-hater, but there is one thing that I’ll never understand. If you manually delete a program’s file folder, and then try to uninstall it using the Control Panel uninstall menu, what happens? You’d think Windows would be smart enough to say “Program files folder not found” and then remove the program from the listbox. Nope. Instead, it says “Program not found. Uninstallation canceled” and then quits. And what does it do? It leaves the damn program in the uninstall listbox. You idiot! I just deleted your stupid program (which was partly my fault for not checking the uninstall menu first, but I shouldn’t have to do that every time I want to get rid of some adware or something) and now you won’t let me uninstall it. At least remove the item from the window! As far as I can tell, the only way to actually uninstall it correctly at this point is to reinstall the whole program (which it doesn’t let me do in some cases, because the install program will detect a previous version of the program in the registry) and then uninstall it through Control Panel.
There aren’t very many things that I would change about the Windows GUI, though. It works pretty well for me. The one thing I would change (and I think it’s actually possible to do this if you replace a DLL file) is the common color selector dialog. It’s not usually that big of a deal, but I use graphics programs a lot and they all seem to use that same common control. 99.9999% of the time, if I want to select a color, I have to click the stupid “Define Custom Colors” button, and then move all the way over the the RGB input boxes. It takes about 2 extra seconds to maneuver my mouse over to the other side of the dialog, but for a common dialog, which is supposed to be used again and again, that’s way too long. Doing anything on a computer repeatedly that you should only have to do once is bad design. Clicking on “add to custom colors” is completely useless, because whenever I close the application I was using to work on it (which usually doesn’t take long, especially if I’m using MS Paint or something) all of the custom colors in the dialog box disappear. IMHO, it should be redesigned to just pop up with red, green, and blue input boxes, OK/Cancel buttons, and then a “More>>” button that gives you all the extra crap that’s normally in the common color dialog. That’s really my only complaint about the Windows GUI, and like I said, I think it’s possible to change some DLL and get it to work my way (which is always correct. ;))
(They might’ve fixed both of the above problems in Windows 2000/Me/XP, but I wouldn’t know.)
They don’t have to. They only have to think “What happens if I try to open this file and it’s not there?” or “What happens if I try to create this file and I can’t?” which good programmers are already thinking every time, and which good libraries already handle by raising exceptions.
Thing is, it’s not just one specific example. It’s the rule, not the exception. Given the harmony of Unix’s file descriptors, directory entries, and links, there is no other way for it to be.
The program doesn’t have to do anything special to cope with files being deleted or renamed out from under it. A program that has an open file won’t even notice that the file has been deleted unless it tries to access the file again by name, which is exceedingly rare.
Even on Windows, most programs would work perfectly if the file locking mechanism were changed to allow this. Programs don’t typically access files by name while they’re open, because of the very problem I’m complaining about - you can’t do jack shit with a filename while the file is open.
It would only become a problem if the program closes a file, then tries to immediately reopen it and expects it to still be there. But, of course, that problem already exists, because Windows is a multitasking OS, so the program can be preempted between closing the file and reopening it (allowing another program to delete the file), and well-written programs already handle that case.
I would just have to say that file handling in general in Windows pisses me off to no end. Bear in mind that even though I’m a Mac user I’m a windows power-user and administrator as a day job so it’s not a matter of just not being experienced with the OS or just not knowing what to do. The one thing Apple did right from the beginning days of System 6 (ok…ok…MY beginning days as a young lad of 5 ) when you didnt want a program anymore, you put it in the trash, when you didn’t want a control panel or system extension anymore, you put it in the trash. Simple, intuitive, it just made sense.
Problem is that with the wonder of the registry and DLL’s you can’t do that in Windows. On a Mac (and in some cases on *nix) when you install a program all of the files you need, unless there is a system extension or library that needs to be installed, are in the same folder as the application. On Windows you run an installer and it shits all over your drive spewing DLL’s ad various other files left and right. The average user will never see this since all they ever see is a nicely organized folder of shortcuts, but it’s still there. To make it even better when you uninstall the uninstaller doesn’t always clean up all the mess so in the end you end up with a bit of a crap shoot with “what can I and what can’t I delete?”
The registry itself creates all manner of other problems but my favorite is this. On occassion a MS Knowledge Base article will recommend a registry hack to fix a particular problem but, should you decide to call tech support (if you can afford the $125 bill) they’ll tell you that MS doesn’t support changing the registry.
Some things will just never cease to amaze me I guess.
So anyhow, it turns out that I was misremembering a mishmash of the Win98 and NT registries. Those who noted that current versions do have access restrictions were, of course, correct. Mea Culpa.
** MR2001**, please stop making incorrect generalizations about Unix as a whole in regards to being able to delete files that are in use. Among the OSes I’m familiar with, and their default file system behavior, Solaris will allow you to remove a file that’s in use by a process, but if you remove a library or binary file the process is using the process will die, it won’t stay resident in memory with the inode removed. Under HP-UX, you cannot remove a file that’s in use, but you can move it to another name.
Others: Inexperienced people should not be deleting files. Period. Therefore, I don’t care what happens to them when they delete a file they shouldn’t. Heck, I don’t care if Microsoft only lets you delete files that are in use if you manage to hand-edit 101 registry keys to prove you know what you’re doing, I want the option to delete a file that’s in use. Why? Because 1) there’s no equivalent of fuser, which tells you which process has the file open, so you’re left guessing; 2) Some processes (and many viruses are in this catagory) start by default and restart automatically when killed, making it impossible to delete their files; and 3) files don’t really get deleted anyway, they just get moved to the recycle bin, so what’s the big hairy deal?
Defenders of the registry: No matter if you’re limited to current_user or not, the fact remains that installing one program can and does affect the behavior of other programs and the system as you perceive it. Just look at what happens to your default file openers when you install RealVideoPlayer. This is silly behavior, as the only good reason for providing the proprietary format is to make editors go through a common interface, so that the interface can intercept changes that may be taking place without your approval and GET your approval before applying the change.
As for my nomination, I’m sticking with not allowing a user to define the default folder view, but instead remembering a custom configuration and applying it to every folder opened until you hit the limit in the registry. That just pisses me off.
-lv
My apologies. I believe Linux works the way I’ve described, so I’ll use that example instead.
A complaint on GUIs in general. I hate how difficult it becomes to do repetitive tasks in batch when you are guided into exclusively using a GUI. This is of course a problem in Mac OS 9 and before > Windows > Mac OS X > Unix.
GUI based programs should work in batch all the time. I shouldn’t have to download new software in order to do this. For instance, if I want to resize all the GIFs in My Pictures to 25% and save them as JPGs, I don’t want to have to open each in Photoshop and execute two commands (with or without keyboard shortcuts) in order to do this. Either give me a click-and-drag way to do it or let me have a command-mode interface. And I don’t want to learn a new scripting/batch/macro language for every program suite.
Windows gives me a legacy command line, but it is rare that one can write a .BAT or type a command line command in order to run a GUI based program in batch. Old MacOS lacks this entirely, although to their credit they do support a drag-and-drop approach much more than Windows.
Mac OS X represents a nice change towards that, as it sits nicely on top of a Unix core. But still, programs like MS Office X don’t let me for instance convert all .docs to .rtfs in a directory without opening every file in the GUI. Unix of course is the best in this – all programs at heart are executed from a non-GUI core. And the vast majority support either lots of command-line options or the ability to work from stdin and stdout so I can work them into sh scripts.
I run into this problem every day given my line of work. Last week I went from OS 9 to OS X and my life has become a lot easier thanks to Unix sh scripting. It is just a pet peeve of mine. If I were designing a GUI, this would be one of the cores I would strive for, as a great time and processor power saver.
Does anybody know of any Windows- or OS X-based utilities that would give me the multiple desktops which figure heavily into almost all higher level X windows managers? nVidia distributes this thing called nView with their drivers which advertises it, but it is pretty clunky. What I want is a pager for my taskbar/Dock or edge-flipping support.
For OSX there is a shareware program called CodeTek Virtual Desktop that will allow something like up to 99 virtual desktops or some other ridiculously large number.
For Windows XP if you go to the Windows XP website and check the powertoys sections there’s a virtual desktop program that work well enough though doesn’t hav any of those nice things like actually showing you what’s on each desktop.
Don’t forget that if you have a second monitor lying around OSX supports multiple monitors as extensions of the desktop quite well without any additional software.
The price they expect you to pay for it.
Nowadays, the typical beginner hardware costs LESS than the total price of the software typically used with it. So the improvements in hardware prices over the years have been sucked up by the increased prices Bill Gates has dictated for his software.
Well that’s just dandy. You go and buy ArrogantSodOS™, and the rest of us will use one that protects files in a sensible manner. Sheesh, do you really think that new users shouldn’t delete files at all? That’s a damn sight stupider than any of the complaints anyone here has about Windows.
1) Well, as with the preview pane example, this is a great reason why Windows should have an “fuser” equivalent, not a great reason why you should be able to delete files in use.
2) This to me would imply that those processes not viral in nature that work like this are rather important, and if you can’t work out what they are, you shouldn’t be deleting their files. To prevent viruses, get a virus checker and don’t be thick with your email.
3) I don’t see why this is a good argument at all. The recycle bin is periodically emptied, and I don’t think it’s a very useful behaviour to have processes operating on files that might disappear at any moment. All the above arguments could equally be applied to shift-deleting files, so the fact that Windows has a sort of limbo state is neither here nor there.
They could be like Apple. OS X 10.0 was $129. You want the 10.1 update? That’s another $129. Hey, 10.2’s here. That’ll be $129 please.
At least Windows service packs are free.
Yes, I really do, and here’s why:
- All installation programs should keep track of all files they install and remove them all when you uninstall the program. User does not need to delete program files.
- User-created files are another matter. Presumably, the user would know what they are and delete them if they truely don’t want them, but with the price of 100GB hard drives it’s increasingly stupid to not just keep the files around in case you do need it.
But what really happens in the first case? You install a program, it’s a piece of crap and gets hung in an unkillable state. So you uninstall the program, but the uninstaller can’t remove all the files because it can’t kill the program that’s using it, so you end up with USERS trying to delete PROGRAM FILES if they really want those files off of their systems. Note that the master list of which files still need to get deleted is gone as soon as you click ‘done’ on the uninstaller, and if you’re lucky you figured out you could select this list, use the keyboard shortcut for copy, open up notepad and hit paste and then save off the list.
Note all of the advanced-user steps you have to do to remove the program, whereas if the uninstaller could just be trusted to remove the proper files, this would all happen automagically.
This scenario describes pretty much every file-deletion I’ve done over the past 3 years. My lovely wife has been using a computer for 4 years, and has never manually deleted a file, and probably wouldn’t know where to start going about and doing it. There’s no need.
The program has decided that it’s important. I’ve decided it’s not, because I’ve worked out what it is and what it does and I’ve decided that I don’t want it running on my system. I don’t see why I shouldn’t be allowed to do this. Oddly enough, the last time I ran into this was because the twits in our IT department scheduled a full NAV scan on my computer at 2 in the afternoon everyday and didn’t give me the necessary permissions to reschedule. NAV, having to be resistant to virus’s shutting it down, wasn’t letting me shut it down, so I eventually had to boot into safe mode and move the executable to a new name.
The theory is that if you do delete “something important”, it’s still in the recycle bin, so that if “something important” stops working, you can restore it.
-lv
edwino
AppleScript. Or (under MacOS X only) use the terminal.
So you think rather than taking steps to protect essential files against accidental or stupid deletion via an in-use locking policy and XP’s now-implemented file protection service, it’s best to just tell everyone in the world below MCSE level (say) not to delete anything, move anything or generally do anything to a file once it’s created? Okay. But we are talking about a MASS MARKET OS here. It’s supposed to be USEFUL to LOTS of people who aren’t necessarily computer experts, and I really don’t believe that you can possibly think that file deletion is something that ought to be left to experts. Sheesh. You’re arguing that everyone should leave everything where it was created - I’d hate to have to find anything on your computer. Oh, but I forgot; you’re an expert and are allowed to delete things, and are the reason why Windows should be completely different.
Well, you select the file, and hit the delete key. For fuck’s sake. “No need” … mutter mutter. You’re going about here trying to make out that deleting files is the preserve of some super-evolved race with big googly eyes, but I just don’t buy it. Deleting and moving files is an enormously common fucking task, and I truly and utterly do not see your problem with making it a safer process for the Great Unwashed. If you think you’re so amazingly cool that you can delete things with impunity and need never be queried, ace - use an OS that lets you do this.
Given that your first response to discovering a scan was scheduled was to change it yourself, I’m really not surprised they don’t give you permissions to change it. Virus protection is only effective if everyone is protected, and if some yahoo with an over-inflated sense of self-importance decides that right now he’s too busy not to have viruses, it fucks up other peoples’ work. Given your dilemma of inconvenient scans, most people would see that there is one rather obvious choice: call IT and ask them to reschedule it. But no, you see it as an argument for being able to delete/rename important system files as and when you feel like it. Each to his own, but I suspect your IT department would disagree just a smidgen.
Like I said, all this applies to “properly” deleting things with shift-delete as well. The existence of a fix to a problem is not a good argument against taking steps to prevent said problem in the first place.
Tell me; when using unix, do you work as root as a matter of course?
I’m all in favor or protecting aginst accidental or stupid deletion. What I’m against is not allowing a deletion that I think is non-stupid but the OS thinks is stupid.
When the fuck did I say anything about moving files? Most version of Windows DO allow you to move or rename executable files that are running which, from a fucking stuff up standpoint, is just as bad as deleting them outright. It’ll happily let you move entire directories to other drives, where the programs they contain won’t work because the registry didn’t get updated with the new path. So, to keep your arguement consistant, you’re the one who should be arguing against allowing files to be moved.
And I certainly think that users should be allowed to delete and move and organize their own documents. I don’t think they need to delete, for the most part, and I do know of several low-end users who just don’t do it, and I’m not an advocate of file deletion. Moving and organizing, however, is completely different.
**
Did I completely woosh you with my description of file deletion scenarios? I want an uninstaller, which is the only thing that has any business deleting the files that a program needs to run, to be able to delete those files when I run it. To guarentee this, they have to be able to delete files that are in use. I don’t care that they are in use, because I no longer wish to use the program, and I’ve expressed this opinion by uninstalling it.
Why, exactly, would you need to delete files other than the ones that you’ve interactively saved to the hard drive, if this was in place? Since this isn’t in place, you have to allow users to delete files that uninstallers couldn’t clean up, and that leads to the permisssions that make deletion dangerous.
**
Not in the least. All installed files should be left where it was created until the package as a whole is uninstalled, or else it won’t work (again, here’s that case where MS looking out for me ISN’T DOING SHIT to keep me from breaking things). You can organize and move around your own files as much as you want, but it’s stupid to put them far away from your home directory in Windows XP, because that’s where all the “open” dialogues are going to start you at. IOW, you should never even have to look at any directory outside of your home directory.
No, FIRST you have to get into explorer. THEN you have to understand the basics of folders and directory structures. Then you have to find the file. Then you can select it and hit delete. Microsoft, in an effort to make it a “mass market OS that’s easy to use”, has really made these secondary skills. You don’t really have to understand anything about directory trees and such to be a proficient user of Microsoft programs in a home setting.
You honestly think that the ideas I laid out before wouldn’t make it safer than it is now?
What, precisely, led you to think that wasn’t my first choice? But alas, my company has about 200 users per IT tech, and they told me to bugger off. OTOH, in 15 years of computer use I’ve allowed myself to be infected with exactly 0 viruses, so forgive me if I don’t have a heathy fear of them.
Well, usually, but only because I’m a software developer, I develop tools that can only run as root, and most of my unix-time is spent running and debugging those tools. When I’m developing, I run as a normal-user. What the fuck does that have to do with anything?
-lv
The most annoying part of Windowsis that it keeps a diary of every single thing you do on the computer, and put that information in files that can be easily accessed, but requires a knowledge of forensics to clean.
Where, exactly?
This is actually a bit of a misconception. Service Packs under Windows are typically nothing more than bug-fixes. Things that, IMHO really should be taken care of before the OS was released. I realize of course that in the real world this is impossible so I give limited kudos to MS for at least providing a decent way to apply those fixes (even though they occassionally break more than they fix )
However, the releases of MacOS you are referring to, 10.1, 10.2, and in Sept., 10.3 are far from the equivalent of a windows service pack and considerably closer to a new OS. This is especially apparant between 10 and 10.2 which saw an almost complete remake of the UI plus rewrites of many of the bundled utilities and software and a plethora of new features (10.3 will have an addition to file organizing dubbed “piles” )
The nearest equivalent to a windows service pack would be the point releases provided every couple of months which are, in fact, free for download through software update or from Apple’s website. When I bought my Powerbook I was at MacOSX 10.2.0, I’m now running 10.2.6 and those upgrades have not cost me a dime.
If you want to compare the MacOS releases to Windows the best would be that 10.2 is to 10.1 what Win98 is to Win95.
There is a way in fact, I had to do it when I decided one time to totally remake XP to look like OSX. The files that Windows deems necessary enough to require restoration are stored in a folder in the Windows directory. I know that the process I’m linking too works for DLL’s, I’d imagine it works in a similar fashion for other files.
The process is long and complicated so I’ll not go in to it here but a rather lengthy tutorial is available from a renowed skinner named Iceman