It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
low rated
avatar
Magmarock: When I said I was a big fan I was being facetious. Yes I like exe or rather (portable executables) No I wasn't aware they were once called PE's or the full history of them nor do I really care. I just like being able to copy a thing from a thing, double click the thing and then have the thing work.
avatar
kohlrak: Works more often with Linux than windows, yet your arguments here aren't about how you like windows, but instead how you don't like the FOSS movement and Linux. On linux you can copypasta and all that just like usual, except linux does have one cool feature that's left out, not that it's a big one or anything, but linux doesn't lock files from deletion like windows: so a file that's running can be deleted while it's running, which is an issue for virus removal in windows. If you try to disable the virus, it likes to run 2 or 3 copies at a time. If you can delete it before cutting it out of the system, you can knock it out entirely. Plus, it doesn't result in the need for tools like "unlocker" simply because a folder you're trying to delete was recently open in windows explorer, even if it isn't currently open. And this is ignoring the self-contained executable and save file potential.

However, that's a really obscure example, but it serves a point. What you're saying you want to be able to do that windows provides you with, those things are also in the alternatives. Your arguments are falling apart, and fast, and seem to be missing this quality of you performing self-analysis.

So, in order to solve that problem, I'd like to take a shot at guessing what your real issue is, if you don't mind. You admitted that it's personal with you, you admitted that you actually believed in Linux before. You admit that people in the linux community were giving certain unknown individuals a hard time due to elitism. I'm going to go out on a limb, and suggest that maybe you're just really sore at Linux and FOSS because of a loud minority, silent majority setup. You didn't like a change that was made when you were trying out linux, or maybe you wanted something to be different. You believed that in FOSS that it could or would be possible to simply request it and it would be, which was wrong. Perhaps you didn't like the move away from menu type interfaces to cellphone style interfaces (a major problem i had which is what had me leave ubuntu: there was talk about making their own new interface a mandatory standard, so i switched to Fedora), or maybe you don't like the issue with dependencies (which is a real problem all around, but you don't have this programmer vibe that would expose you to the reality of this), or who knows. When you suggested that efforts be focused on the problem you suggested, you got mocked, and hardcore mocked. With your ego bruised, and not being able to make or maintain the changes that you wanted, you got really sore really quick, and blamed the community as a whole for the actions of a few (as evidenced by the fact that you suggest I'm very, very different from the rest of the linux community, when in reality i am, but not for the reasons you describe). You've become too invested, by taking too bold of stances with those around you, people here, and elsewhere, for you to admit that maybe you were wrong, because that would be totally embarrassing. I'm probably not 100% right, but this is my working idea, right now. So, how'd i do?
TLDR Dude SHORTEN IT! Throwing bucket loads of text doesn't strengthen your argument. Too much is just as lazy as too little so get to the point and only stick to the impotent stuff. Try to keep your responses to one paragraph or five sentences.
avatar
dtgreene: Out of curiosity, are there any Windows programs with interesting DOS stubs?
avatar
kohlrak: I'm sure there are, but they're rare. The linker is responsible for making the ending binary format, and it usually doesn't get interesting from there. However, you're free to hex-edit the stubs to have it display a different message, or even do something else entirely, like this, which was done for the SEGA genesis (i'd love to see someone actually do that one).

However, knowing that it wasn't actually used by anything other than DOS, i've seen people try to take advantage of it to store data. I linked it above multiple times, someone actually used the DOS stub to make the world's smallest PE that downloads and executes a file, which worked until Windows XP Service Pack 3, and didn't get blocked by firewalls.
I actually remember a compiler having an option to include an arbitrary DOS program of up to 64k as the stub, and I am wondering whether it's ever been used in interesting ways.
avatar
kohlrak: Works more often with Linux than windows, yet your arguments here aren't about how you like windows, but instead how you don't like the FOSS movement and Linux. On linux you can copypasta and all that just like usual, except linux does have one cool feature that's left out, not that it's a big one or anything, but linux doesn't lock files from deletion like windows: so a file that's running can be deleted while it's running, which is an issue for virus removal in windows. If you try to disable the virus, it likes to run 2 or 3 copies at a time. If you can delete it before cutting it out of the system, you can knock it out entirely. Plus, it doesn't result in the need for tools like "unlocker" simply because a folder you're trying to delete was recently open in windows explorer, even if it isn't currently open. And this is ignoring the self-contained executable and save file potential.
It's worth noting that what's going on (in Linux) isn't actaully a delete operation, but rather an unlink operation. When a file (that doesn't have any hardlinks to it) is opened by a process, it has a link count of 2. Use a program like "rm" (or "unlink", for that matter) to remove the file, and it will only remove the link; the link count will still be 1. As a result, while the program has the file open, it will still take up space on disk, though it can't be accessed by name. The disk space won't actually be freed until the process closes the file, reducing its link count to 0, and triggering the deletion of the file.

A hard link allows you to create a second link to the file on the filesystem. Note that this only works within the same finesystem; you can't link across filesystems. Changing a file will change the one its hardlinked to, but deleting one will not actually delete the file as its link count will still be positive.

Incidentally, if you delete the last filesystem link to an open file, and the system then crashes unexpectedly, you will have a file sitting one the filesystem, but which can't be accessed, wasting space. Fortunately, tools like fsck can fix this, removing the unreferenced file from the system (or perhaps allowing recovery, typically by creating a link in the "lost+found" directory (ever wondered what that's for?), and journaling filesystems have journals that can be used to quickly correct the issue on mount.
Post edited July 07, 2018 by dtgreene
avatar
Magmarock: TLDR Dude SHORTEN IT!
You don't get to dictate how someone presents their arguments, especially when you have posted responses nearly twice as large yourself.
Post edited July 07, 2018 by xyem
avatar
kohlrak: I'm sure there are, but they're rare. The linker is responsible for making the ending binary format, and it usually doesn't get interesting from there. However, you're free to hex-edit the stubs to have it display a different message, or even do something else entirely, like this, which was done for the SEGA genesis (i'd love to see someone actually do that one).

However, knowing that it wasn't actually used by anything other than DOS, i've seen people try to take advantage of it to store data. I linked it above multiple times, someone actually used the DOS stub to make the world's smallest PE that downloads and executes a file, which worked until Windows XP Service Pack 3, and didn't get blocked by firewalls.
avatar
dtgreene: I actually remember a compiler having an option to include an arbitrary DOS program of up to 64k as the stub, and I am wondering whether it's ever been used in interesting ways.
avatar
kohlrak: Works more often with Linux than windows, yet your arguments here aren't about how you like windows, but instead how you don't like the FOSS movement and Linux. On linux you can copypasta and all that just like usual, except linux does have one cool feature that's left out, not that it's a big one or anything, but linux doesn't lock files from deletion like windows: so a file that's running can be deleted while it's running, which is an issue for virus removal in windows. If you try to disable the virus, it likes to run 2 or 3 copies at a time. If you can delete it before cutting it out of the system, you can knock it out entirely. Plus, it doesn't result in the need for tools like "unlocker" simply because a folder you're trying to delete was recently open in windows explorer, even if it isn't currently open. And this is ignoring the self-contained executable and save file potential.
avatar
dtgreene: It's worth noting that what's going on (in Linux) isn't actaully a delete operation, but rather an unlink operation. When a file (that doesn't have any hardlinks to it) is opened by a process, it has a link count of 2. Use a program like "rm" (or "unlink", for that matter) to remove the file, and it will only remove the link; the link count will still be 1. As a result, while the program has the file open, it will still take up space on disk, though it can't be accessed by name. The disk space won't actually be freed until the process closes the file, reducing its link count to 0, and triggering the deletion of the file.

A hard link allows you to create a second link to the file on the filesystem. Note that this only works within the same finesystem; you can't link across filesystems. Changing a file will change the one its hardlinked to, but deleting one will not actually delete the file as its link count will still be positive.

Incidentally, if you delete the last filesystem link to an open file, and the system then crashes unexpectedly, you will have a file sitting one the filesystem, but which can't be accessed, wasting space. Fortunately, tools like fsck can fix this, removing the unreferenced file from the system (or perhaps allowing recovery, typically by creating a link in the "lost+found" directory (ever wondered what that's for?), and journaling filesystems have journals that can be used to quickly correct the issue on mount.
And yet, NTFS does both hard and soft links, too. Without knowing, I would assume the difference lies in how applications access files on either system.
avatar
kohlrak: Works more often with Linux than windows, yet your arguments here aren't about how you like windows, but instead how you don't like the FOSS movement and Linux. On linux you can copypasta and all that just like usual, except linux does have one cool feature that's left out, not that it's a big one or anything, but linux doesn't lock files from deletion like windows: so a file that's running can be deleted while it's running, which is an issue for virus removal in windows. If you try to disable the virus, it likes to run 2 or 3 copies at a time. If you can delete it before cutting it out of the system, you can knock it out entirely. Plus, it doesn't result in the need for tools like "unlocker" simply because a folder you're trying to delete was recently open in windows explorer, even if it isn't currently open. And this is ignoring the self-contained executable and save file potential.

However, that's a really obscure example, but it serves a point. What you're saying you want to be able to do that windows provides you with, those things are also in the alternatives. Your arguments are falling apart, and fast, and seem to be missing this quality of you performing self-analysis.

So, in order to solve that problem, I'd like to take a shot at guessing what your real issue is, if you don't mind. You admitted that it's personal with you, you admitted that you actually believed in Linux before. You admit that people in the linux community were giving certain unknown individuals a hard time due to elitism. I'm going to go out on a limb, and suggest that maybe you're just really sore at Linux and FOSS because of a loud minority, silent majority setup. You didn't like a change that was made when you were trying out linux, or maybe you wanted something to be different. You believed that in FOSS that it could or would be possible to simply request it and it would be, which was wrong. Perhaps you didn't like the move away from menu type interfaces to cellphone style interfaces (a major problem i had which is what had me leave ubuntu: there was talk about making their own new interface a mandatory standard, so i switched to Fedora), or maybe you don't like the issue with dependencies (which is a real problem all around, but you don't have this programmer vibe that would expose you to the reality of this), or who knows. When you suggested that efforts be focused on the problem you suggested, you got mocked, and hardcore mocked. With your ego bruised, and not being able to make or maintain the changes that you wanted, you got really sore really quick, and blamed the community as a whole for the actions of a few (as evidenced by the fact that you suggest I'm very, very different from the rest of the linux community, when in reality i am, but not for the reasons you describe). You've become too invested, by taking too bold of stances with those around you, people here, and elsewhere, for you to admit that maybe you were wrong, because that would be totally embarrassing. I'm probably not 100% right, but this is my working idea, right now. So, how'd i do?
avatar
Magmarock: TLDR Dude SHORTEN IT! Throwing bucket loads of text doesn't strengthen your argument. Too much is just as lazy as too little so get to the point and only stick to the impotent stuff. Try to keep your responses to one paragraph or five sentences.
Wasn't a problem until now (and you were writing nice long posts for a while, yourself), so it seems i'm right. I could make arguments on why longer arguments are more appropriate, but it's clear at this point.

avatar
dtgreene: I actually remember a compiler having an option to include an arbitrary DOS program of up to 64k as the stub, and I am wondering whether it's ever been used in interesting ways.
That's interesting. I've never seen that, but i believe it. I've seen quite a few strange compiler options before, but we know that such an option would not be strange in the least.
avatar
kohlrak: Works more often with Linux than windows, yet your arguments here aren't about how you like windows, but instead how you don't like the FOSS movement and Linux. On linux you can copypasta and all that just like usual, except linux does have one cool feature that's left out, not that it's a big one or anything, but linux doesn't lock files from deletion like windows: so a file that's running can be deleted while it's running, which is an issue for virus removal in windows. If you try to disable the virus, it likes to run 2 or 3 copies at a time. If you can delete it before cutting it out of the system, you can knock it out entirely. Plus, it doesn't result in the need for tools like "unlocker" simply because a folder you're trying to delete was recently open in windows explorer, even if it isn't currently open. And this is ignoring the self-contained executable and save file potential.
It's worth noting that what's going on (in Linux) isn't actaully a delete operation, but rather an unlink operation. When a file (that doesn't have any hardlinks to it) is opened by a process, it has a link count of 2. Use a program like "rm" (or "unlink", for that matter) to remove the file, and it will only remove the link; the link count will still be 1. As a result, while the program has the file open, it will still take up space on disk, though it can't be accessed by name. The disk space won't actually be freed until the process closes the file, reducing its link count to 0, and triggering the deletion of the file.
Not really different, actually. When you delete a file on Windows, it's actually still an unlink and in both scenarios the file takes up space after deletion, but it becomes uncounted, since the link is gone. As for it taking disk space while still open, this makes sense since it shouldn't just automatically cache the file to RAM/swap, if it's a large file. In all file systems, and this is probably to preserve the disk longer, they only delete the references to files, usually, and not actually zeroing the sectors that the file takes up, which really makes me wonder why windows takes so long to delete some files.
A hard link allows you to create a second link to the file on the filesystem. Note that this only works within the same finesystem; you can't link across filesystems. Changing a file will change the one its hardlinked to, but deleting one will not actually delete the file as its link count will still be positive.
Interesting. I've honestly always wondered why one would want to hard link, when softlinks seem to be available in more cases.
Incidentally, if you delete the last filesystem link to an open file, and the system then crashes unexpectedly, you will have a file sitting one the filesystem, but which can't be accessed, wasting space. Fortunately, tools like fsck can fix this, removing the unreferenced file from the system (or perhaps allowing recovery, typically by creating a link in the "lost+found" directory (ever wondered what that's for?), and journaling filesystems have journals that can be used to quickly correct the issue on mount.
This seems to be more of a EXT# weakness, rather than a quality of the OS. Have you ever tried this on linux working with an NTFS drive? It'd be interesting to experiment.

A hard link allows you to create a second link to the file on the filesystem. Note that this only works within the same finesystem; you can't link across filesystems. Changing a file will change the one its hardlinked to, but deleting one will not actually delete the file as its link count will still be positive.
avatar
kohlrak: Interesting. I've honestly always wondered why one would want to hard link, when softlinks seem to be available in more cases.
Hardlinks are also useful when different processes have different views of the filesystem, as can happen with chroot or with mount namespaces.

Bind mounts can also be used in Linux for this purpose, though, since they're not stored in the filesystem, they need to be re-created on each boot (by, for example, an init script). Note that, when using bind mounts with mount namespaces, bind mounts typically only apply to the mount namespace in which they are created. (The situation is actually a bit more complicated here.)


Incidentally, if you delete the last filesystem link to an open file, and the system then crashes unexpectedly, you will have a file sitting one the filesystem, but which can't be accessed, wasting space. Fortunately, tools like fsck can fix this, removing the unreferenced file from the system (or perhaps allowing recovery, typically by creating a link in the "lost+found" directory (ever wondered what that's for?), and journaling filesystems have journals that can be used to quickly correct the issue on mount.
avatar
kohlrak: This seems to be more of a EXT# weakness, rather than a quality of the OS. Have you ever tried this on linux working with an NTFS drive? It'd be interesting to experiment.
If I tried to do this with an NTFS filesystem, on reboot Linux would likely refuse to mount it (or would only mount it read-only), as Linux doesn't have tools to fix broken NTFS filesystems.

By the way, you can force a crash by writing 'c' to /proc/sysrq-trigger
(Note that this *will* cause a kernel panic, of course, and you will need to be root to do this)
Post edited July 08, 2018 by dtgreene
avatar
kohlrak: Interesting. I've honestly always wondered why one would want to hard link, when softlinks seem to be available in more cases.
avatar
dtgreene: Hardlinks are also useful when different processes have different views of the filesystem, as can happen with chroot or with mount namespaces.

Bind mounts can also be used in Linux for this purpose, though, since they're not stored in the filesystem, they need to be re-created on each boot (by, for example, an init script). Note that, when using bind mounts with mount namespaces, bind mounts typically only apply to the mount namespace in which they are created. (The situation is actually a bit more complicated here.)
Interesting.
avatar
kohlrak: This seems to be more of a EXT# weakness, rather than a quality of the OS. Have you ever tried this on linux working with an NTFS drive? It'd be interesting to experiment.
If I tried to do this with an NTFS filesystem, on reboot Linux would likely refuse to mount it (or would only mount it read-only), as Linux doesn't have tools to fix broken NTFS filesystems.

By the way, you can force a crash by writing 'c' to /proc/sysrq-trigger
(Note that this *will* cause a kernel panic, of course, and you will need to be root to do this)
What about umount? Wouldn't that be a little safer than intentionally inducing a crash (when the computer is doing God only knows what else)?

I think i do remember problems before with NTFS and linux. Honestly, though, if linux is going to do that practice, it should completely unlink and keep track of the sectors on it's own, seeing as no one else can really use that drive.

And since you've tried this stuff before, i also assume you've tried scenarios with an SSHFS mounted system? How does that work out?

If I tried to do this with an NTFS filesystem, on reboot Linux would likely refuse to mount it (or would only mount it read-only), as Linux doesn't have tools to fix broken NTFS filesystems.

By the way, you can force a crash by writing 'c' to /proc/sysrq-trigger
(Note that this *will* cause a kernel panic, of course, and you will need to be root to do this)
avatar
kohlrak: What about umount? Wouldn't that be a little safer than intentionally inducing a crash (when the computer is doing God only knows what else)?

I think i do remember problems before with NTFS and linux. Honestly, though, if linux is going to do that practice, it should completely unlink and keep track of the sectors on it's own, seeing as no one else can really use that drive.

And since you've tried this stuff before, i also assume you've tried scenarios with an SSHFS mounted system? How does that work out?
In the case I mentioned:

If the file is still open, Linux will refuse to unmount the filesystem, saying that it is busy.

If the file is properly closed (or if the process involved terminates), the link count will be properly decreased, and if it reaches 0, the file will be deallocated.

If the file system is unmounted while it's in the middle of being cleaned up, I believe the call to mount() (and hence the mount program) will not return until it finishes.

In any case, the probme I mentioned does not occur except in an unexpected crash or power cut.

I haven't actually done actual tests of this.

(One other thing: If you are using a virtual machine to test these sorts of thing (not a bad idea), you can simulate a power cut by sending SIGKILL to the virtual machine software.)
low rated
avatar
Magmarock: TLDR Dude SHORTEN IT!
avatar
xyem: You don't get to dictate how someone presents their arguments, especially when you have posted responses nearly twice as large yourself.
No, but I can decided what I will respond to. My earlier posts were bigger, but then, I started shrinking them in hopes he would do that same.
avatar
Magmarock: I started shrinking them in hopes he would do that same.
Did you tell them that?
The ultimate no:1 reason i moved to Linux was how Microsoft started to change it's OS over time, to be less end-user focused, and more about their control of their platform.

Various notable people have talked about this publicly over the years, but for me it started to become an issue with Windows 8.

Apart from really hating the GUI changes, i shared the concerns that MS 'might' be pushing things towards it's own store (apps etc), and around all that could see the direction they were indicating they wanted to go in.

Then we had the Xbox One and the launch disaster about how it was found to be phoning home all the time AND gathering personal data from your home to send to it's servers somewhere (the camera that would decide to record stuff when it wanted etc). Once that kind of thing became public MS scrambled to change the way that worked, but it cost them sales vs the PS4 for sure (the PS4 is still the number 1 console this gen, and probably largely due to the bad press the 'spyware' Xbox One rightly got).

So we had clear and obvious signs from MS that they were moving in a direction where data-mining and gathering your personal data was becoming MORE important to them than simply delivering decent solid OS and platforms that were for the end users convenience.

That shift that started with Windows 8 made me pause upgrading from my Windows 7 systems, so i waited and saw all the fallout from the GUI changes (MS shifted things with 8.1 and focused on that over 8 etc) and followed the general chat around this change at the core of MS operating principles.

Then Windows 10 was announced as a 'free' update and things got interesting. Linux has always been free, Windows never (for an average end consumer).

So this really was a gigantic shift in some ways, but then again as the pattern i talked about above (data-gathering etc) was the new MS focus, it does make sense. MS is a HUGE global operating platform with a vast monopoly in many cases, so offering Windows 10 for 'free' would potentially catch an even wider section of the world and allow MS to 'cash in' on all the data-gathering Windows 10 has been designed from scratch to be about.

I decided to avoid Windows 10 like the plague of anti-privacy traps it really is.

Looking around the ONLY solution was Linux, and luckily i found a distro that worked out for me and gave me the CHOICE to not have to put up with an OS that acts like spyware.

So it is 100% due to Microsoft that i'm now a converted Linux user (with Windows 7 as my 'gaming' OS of choice). Thank you MS executives for making my dream become possible :)
Post edited July 08, 2018 by ThorChild
avatar
Maighstir: And yet, NTFS does both hard and soft links, too. Without knowing, I would assume the difference lies in how applications access files on either system.
yeah, it has nothing to do with the filesystem (NTFS or whatnot). It's just how MS designed their File I/O API.
interestingly, with NT they added a flag that can be passed when opening a file, which will give you the same behaviour as on Linux, ie file can be deleted by another process while opened. But in order to not break compatibility with Win9X that flag is not enabled by default.
Post edited July 08, 2018 by immi101
I use Linux (subsystem) because I like bash more than powershell.
I keep a linux distro installed on my PC because I love freedom to change when I like to change (that's why I only buy games that also work on linux, native or wine but it should work).
I still like both windows and mac os.... right now I'm using Windows 10 because I love the eye reader to access to my PC instead of password and I'm using Visual Studio to create a new Application with the Universal UI (only the UI is windows, the core is cross-platform).
Right now I don't use mac os because I don't own a mac as my main PC.
Right now I don't use the distro as main OS because I'm still not bored of windows.

Usually I change main OS every 2-3 months.

I love open source but I'm not "everything should be open source at all cost" guy (the OS for example don't need to be open source).
The main thing that I hate is when I have to stay in one OS because no cross-platform support. I love freedom.


PS. Before Windows 10 I hated windows. It was so slow compared to mac os and any linux distro. Windows Update was really a mess (now it usually does not fail download). And the UI in windows 8 was shit.
Right now the only thing that I don't like about windows is the default backup system... It sucks compared to mac os Time Machine and Linux backup.
1. it does not backup applications.
2. it does not backup Windows and registry.
and the old image backup does not always work (for example it does not work on external drive).

I had to install Macrium Reflect to get a good backup support that on mac and linux is default.
Post edited July 08, 2018 by LiefLayer
low rated
avatar
kohlrak: Wasn't a problem until now
Yes it was, I've been asking you since my second post to reduce the size of your responses First time I asked
My earlier responses were big because I had more to say and more to respond to. After I started shortening my replies though I was hopping you’d do the same. So again, please shorten your resonances.
avatar
LiefLayer: I love open source but I'm not "everything should be open source at all cost" guy (the OS for example don't need to be open source).
That's an odd position to have, as the OS can undermine software that is running on it (intentionally or otherwise).